Ödeme Onaylama

v1/transaction/charge

Paynet.js ve ya Paynet-custom.js ile başlatılan hazır form ya da özelleştirilebilir form entegrasyonlarında kredi kartı ödeme işlemini sonlandırmaya, kredi kartından ilgili tutarın çekiminin yapıldığı servistir. Bu servisi kullanmak için Paynet.js’in sunucunuza post ettiği session_id ve token_id bilgilerine ihtiyaç vardır.

Ödeme servisini kullanabilmeniz için secret_key ile basic authentication yapmalısınız. Bakınız

https://api.paynet.com.tr/v1/transaction/charge

Parametre İsmi

Tip

Zorunlu

Açıklama

session_id

string

Evet

Paynet.js’in formunuza attach ettiği parametre

token_id

string

Evet

Paynet.js’in formunuza attach ettiği parametre

amount

string

Evet

Bu servise gönderilen amount parametresi, hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-amount parametresi ile ayarlanan tutar ile karşılaştırılır. Tutarlar uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner. Bu servise gönderilen tutar hazır form entegrasyonunda data-amount ile ayarlanan tutarın aynısı, özelleştirilebilir form entegrasyonunda data-amount ile ayarlanan tutarın 100 ile çarpılmış hali olmalıdır.

transaction_type

char

Evet

Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.

add_comission_amount

bool

Evet

Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-add_comission_amount parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner.

ratio_code

string

Evet

Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-ratio_code parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner. Oran kodu kullanılmayacaksa parametrenin değeri boş string olarak gönderilmeli.

installments

string

Evet

Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-installments parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner. Bu parametre ile taksit sınırlandırma kullanılmayacaksa parametrenin değeri boş string olarak gönderilmeli.

no_instalment

bool

Evet

Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-no_instalment parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner.

tds_required

bool

Evet

Eğer işlem yapılacak POS 3D’siz işlemi destekliyor ve entegrasyonda işlem 3D zorunlu yapılmak isteniyorsa ise hem hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-tds_required, hem de charge servisinde bu parametre true olarak ayarlanmalı, 3D zorunlu değil ise false olarak ayarlanmalı.

reference_no

string

Hayır

İşlem ile ilişkilendireceğiniz sizin göndereceğiniz bir referans numarası. Sipariş numarası, fatura numarası gibi. Referans numarasını unique bir değer gönderirseniz charge transaction servisinden cevap alamadığınız durumlarda işlemin durumunu check transansaction servisi üzerinden kontrol edebilirsiniz. Bu şekilde mükerrer çekim işlemlerinden korunmuş oluruz.

is_escrow

bool

Hayır

Yapılan işlemin ana firma onaylı gerçekleşmesini istiyorsanız "true" göndermeniz gerekmektedir. Parametre gönderilmezse false kabul edilir.

agent_customer_name

string

Hayır

Buraya yazacağınız değer slipte "Müşteri Adı" alanında görünecektir. Müşterinize göstermek istediğiniz firma adınızı yazabilirsiniz

iban

string

Hayır

Başında ülke kodu olacak şekilde (örn "TR") toplamda 26 karakter olacak şekilde girilmelidir.

Aşağıdaki örnekte post edilen session_id ve token_id değerleri alınarak ödeme onaylama servisine gönderilir.

<?php  
			
$secret_key = "sck_pcs_rMnxDSW/43243434/YAzXXXXXXXXXXXX";
$PostURL = "https://pts-api.paynet.com.tr/v1/transaction/charge";
			
$session_id = $_REQUEST["session_id"];
$token_id 	= $_REQUEST["token_id"];
			
	
$params = array(
 'session_id' => $session_id,
 'token_id' => $token_id,
 'transaction_type' => 1, 
 'amount' => '1500',
 'add_comission_amount' => false,
 'ratio_code' => '',
 'installments' => '',
 'no_instalment' => false,
 'tds_required' => true
);
			
$options = array(
			'http' => array(
					'header'  =>"Accept: application/json; charset=UTF-8\r\n".
					"Content-type: application/json; charset=UTF-8\r\n".
					"Authorization: Basic ".$secret_key,
					'method'  => 'POST',
					'content' => json_encode($params),
					'ignore_errors' => true
					),
			);
			
$context  = stream_context_create($options);
$result = json_decode(@file_get_contents($PostURL, false, $context));
			
if($result->is_succeed == true)
{
  echo "Başarılı";
}
else
{
  echo "Başarısız";
}
			
?>

Last updated