Ö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. bnkz.

İstek Parametreleri
Dönüş Parametreleri
Request
Response
Service Url

Parametre İsmi

Tip

Zorunlu

Açıklama

session_id

string(100)

Evet

Paynet.js’in formunuza attach ettiği parametre

token_id

string(100)

Evet

Paynet.js’in formunuza attach ettiği parametre

reference_no

string( 50)

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.

transaction_type

char(1)

Evet

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

Parametre İsmi

Tip

Açıklama

xact_id

string(100)

İşlemin id'si

xact_date

datetime

İşlemin tarihi

transaction_type

char(1)

1: satış

pos_type

char(1)

5: Paynet POS

is_tds

bool

İşlem 3D’li ise true

agent_id

string(10)

İşlemi yapan bayinin Paynet cari hesap kodu

user_id

string(10)

PaynetJ olarak default döner

email

string(60)

Mail adresi

phone

string(10)

Telefon bilgisi

bank_id

char(4)

Bankanın Paynet sistemindeki kodu

instalment

int

Taksit sayısı. Bknz

ratio

float

Ödeme sırasında kullanılan oran

card_no_masked

string(25)

Maskeli kart numarası

card_holder

string(50)

Kart sahibi

amount

decimal

Kredi kartından çekilen tutar

net_amount

decimal

Komisyon hariç tutar

comission

decimal

Komisyon tutarı

comission_tax

decimal

Komisyon vergisi

currency

char(3)

Para birimi

authorization_code

string(10)

Banka onay kodu

reference_code

string(50)

Banka referans kodu

order_id

string(50)

Banka sipariş no

is_succeed

bool

İşlem başarılı ise true. Eğer işlem başarılı ise http 200 ve is_succeed true döner. Banka onay vermemiş ise http 200 ve is_succedd false döner.

paynet_error_id

string

Paynet sistemi hata kodu

paynet_error_message

string

Paynet sistemi hata mesajı

bank_error_id

string(50)

Banka sisteminin hata kodu

bank_error_message

string(50)

Banka sisteminin hata mesajı

bank_error_short_desc

string(250)

Banka sisteminin hata mesajı

bank_error_long_desc

string

Banka sisteminin hata mesajı

agent_reference_no

string(50)

Ödeme işleminde kullandığınız referans numaranız. reference_no ile aynı

object_name

string

transaction

code

string

Sistem sonuç kodu bknz. Bknz

message

string

Sistem mesajı

{
"session_id":"js_EAAAAD3fKWDiouwO+dcEqN2gusaKLSmLIOJV37ZIJOnKyg6+",
"token_id":"jt_EAAAAKfn6aGfKgvaK1yVPAbFKF4F4RhV7iR1lJBAxVeltC\/+UefYTyMeO2bgVOnMsjU06j\/ZNv42tDQZnyB2aOwEZME-",
"reference_no":"1234",
"transaction_type":1
}
{
"xact_id":"xk_EAAAAE3ovgioQa0Xc++vq16TJYL6Qerwf6hgceGxLAtX7QG9",
"xact_date":"0001-01-01T00:00:00",
"transaction_type":1,
"pos_type":5,
"is_tds":true,
"agent_id":"20081",
"user_id":"paynetj",
"email":null,
"phone":null,
"bank_id":"BONS",
"instalment":3,
"ratio":0.021,
"card_no_masked":"444444******0004",
"card_holder":"gokhan",
"amount":5000,
"net_amount":4764,
"comission":200,
"comission_tax":36,
"currency":"TRY",
"authorization_code":"aut-3060",
"reference_code":"ref-3060",
"order_id":"order-3060",
"is_succeed":true,
"paynet_error_id":"",
"paynet_error_message":"",
"bank_error_id":"",
"bank_error_message":"",
"bank_error_short_desc":"",
"bank_error_long_desc":"",
"agent_reference_no":null,
"object_name":"transaction",
"code":0,
"message":"Ba\u015far\u0131l\u0131 \u0130\u015flem"
}

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,
);
$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";
}
?>