Paynet API
Search…
Ö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
İstek Parametreleri
Dönüş Parametreleri
Request
Response
Service Url
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.
Parametre İsmi
Tip
Açıklama
id
string
İşlemin id'si
xact_id
string
İşlemin id'sinin şifrelenmiş hali.
xact_date
datetime
İşlemin tarihi
transaction_type
char
1: satış
pos_type
char
5: Paynet POS
is_tds
bool
İşlem 3D’li ise true
agent_id
string
İşlemi yapan bayinin Paynet cari hesap kodu
user_id
string
PaynetJ olarak default döner
email
string
Mail adresi
phone
string
Telefon bilgisi
bank_id
char
Bankanın Paynet sistemindeki kodu
bank_name
string
Bankanın Paynet sistemindeki adı
campaign_url
string
Bankaların artı taksit ve taksit erteleme seçim ekranını gösteren url. Detaylı bilgi için arayınız.
instalment
int
Taksit sayısı. Bknz
ratio
float
Ödeme sırasında kullanılan oran
ratio_code
string
Ödeme sırasında kullanılan oran kodu
card_no_masked
string
Maskeli kart numarası
card_holder
string
Kart sahibi
amount
decimal
Kredi kartından çekilen tutar
net_amount
decimal
Komisyon hariç tutar
comission
decimal
Hizmet bedeli
comission_tax
decimal
Hizmet bedeli vergisi
end_user_commission
decimal
Kullanıcı hizmet bedeli
end_user_ratio
float
Ödeme sırasında kullanılan kullanıcı oran kodu
currency
char
Para birimi
authorization_code
string
Banka onay kodu
reference_code
string
Banka referans kodu
order_id
string
Banka sipariş no
user_unique_id
string
Üye iş yeri tarafından verilen kullanıcıya özgü benzersiz id. İlk defa kart saklama yapılıyorsa zorunlu.
card_owner_id
string
İlk defa kart saklama yapıldıktan sonra, Paynet tarafından user_unique_id’ye göre oluşturulan kart sahibinin benzersiz değeri. Bir sonraki kart saklama servisleri bu benzersiz değer üzerinden yapılır.
card_hash
string
Kart numarasının hashlenmiş değeri
card_bank_id
string
Saklanan kartın Paynet sistemindeki kodu
card_logo_url
string
Kartın logo görseli
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.
is_save_card_succeed
bool
Kart kaydetme işlemi başarılı ise true döner. Varsayılan değeri false'tur.
save_card_result_message
string
Kart kaydetme işlemi sonuç mesajı
paynet_error_id
string
Paynet sistemi hata kodu
paynet_error_message
string
Paynet sistemi hata mesajı
bank_error_id
string
Banka sisteminin hata kodu
bank_error_message
string
Banka sisteminin hata mesajı
bank_error_short_desc
string
Banka sisteminin hata mesajı
bank_error_long_desc
string
Banka sisteminin hata mesajı
agent_reference_no
string
Ödeme işleminde kullandığınız referans numaranız. reference_no ile aynı
object_name
string
transaction
code
string
Sistem sonuç kodu bknz. Bakınız
message
string
Sistem mesajı
ratio_code_method
string
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
md_status
int
3D ödeme onaylama işlem sonucu
company_cost_ratio
float
Ana firma hizmet bedeli değeri
company_commission
decimal
Bu işlem sonucunda ana firmaya kesilecek hizmet bedeli tutarı
company_commission_with_tax
decimal
Bu işlem sonucunda ana firmaya kesilecek KDV'li hizmet bedeli tutarı
company_net_amount
decimal
Bu işlem sonucunda ana firmaya ödenecek net tutar
plus_installment
string
Artı taksit sayısı
card_type
char
Kredi kartı. Bakınız
card_brand_name
string
Kart bankası markası (VISA, MASTERCARD, AMEX)
1
{
2
"session_id": "js_*****FBWZ/****/tZjhkI8ecXG3HsTm8H76A6I1apMT*****",
3
"token_id": "3C72FBF6-****-****-****-CA2CE9AAE900",
4
"reference_no": "",
5
"transaction_type": 1,
6
"add_comission_amount": "true",
7
"no_instalment": "false",
8
"tds_required": "true",
9
"installments": "0,3,6,8,9",
10
"ratio_code": "",
11
"amount": 1256000
12
}
Copied!
1
{
2
"id": 2526145,
3
"xact_id": "xk_EAAAAFZ59jeB/zqMRhd0yygDgbCmqfeCJCPOmJSNDIIxBYQ5",
4
"xact_date": "2020-01-30T14:38:44.6478544+03:00",
5
"transaction_type": 1,
6
"pos_type": 5,
7
"is_tds": true,
8
"agent_id": "1001",
9
"user_id": "PaynetApi",
10
"email": null,
11
"phone": null,
12
"bank_id": "AXSS",
13
"bank_name": "Axess",
14
"instalment": 0,
15
"ratio": 0.025,
16
"card_no_masked": "435508******4358",
17
"card_holder": "TEST",
18
"amount": 80,
19
"net_amount": 78,
20
"comission": 2,
21
"comission_tax": 0,
22
"currency": "TRY",
23
"authorization_code": "aut-1022",
24
"reference_code": "ref-1022",
25
"order_id": "order-1022",
26
"is_succeed": true,
27
"paynet_error_id": "",
28
"paynet_error_message": "",
29
"bank_error_id": "",
30
"bank_error_message": "",
31
"bank_error_short_desc": "",
32
"bank_error_long_desc": "",
33
"agent_reference_no": "1000",
34
"xact": "2526145",
35
"campaign_url": "",
36
"end_user_comission": 0,
37
"end_user_ratio": 0,
38
"ratio_code": "",
39
"ratio_code_method": "",
40
"is_save_card_succeed": true,
41
"save_card_result_message": "Kart saklama islemi basarili",
42
"card_owner_id": "2ce0bd9d-aeb3-4af0-9dd6-cf294e72f9cb",
43
"user_unique_id": "31",
44
"card_hash": "pch_Ie_StuwWK-dFd6H6FtZpWeqs-xq-",
45
"card_bank_id": "AXSS",
46
"company_cost_ratio": "0.1",
47
"company_commission":""
48
"company_commission_with_tax":
49
"company_net_amount":""
50
"plus_installment":""
51
"card_type":""
52
"card_brand_name":""
53
"card_logo_url": "https://pts-statics.paynet.com.tr/img/banklogo/small/AXSS.png",
54
"md_status": -1,
55
"object_name": "transaction",
56
"code": 0,
57
"message": "Başarılı İşlem"
58
}
Copied!
Sistem
URL
Canlı Sistem
https://api.paynet.com.tr/v1/transaction/charge
Test Sistemi
​https://pts-api.paynet.com.tr/v1/transaction/charge
Aşağıdaki örnekte post edilen session_id ve token_id değerleri alınarak ödeme onaylama servisine gönderilir.
1
<?php
2
3
$secret_key = "sck_pcs_rMnxDSW/43243434/YAzXXXXXXXXXXXX";
4
$PostURL = "https://pts-api.paynet.com.tr/v1/transaction/charge";
5
6
$session_id = $_REQUEST["session_id"];
7
$token_id = $_REQUEST["token_id"];
8
9
10
$params = array(
11
'session_id' => $session_id,
12
'token_id' => $token_id,
13
'transaction_type' => 1,
14
'amount' => '1500',
15
'add_comission_amount' => false,
16
'ratio_code' => '',
17
'installments' => '',
18
'no_instalment' => false,
19
'tds_required' => true
20
);
21
22
$options = array(
23
'http' => array(
24
'header' =>"Accept: application/json; charset=UTF-8\r\n".
25
"Content-type: application/json; charset=UTF-8\r\n".
26
"Authorization: Basic ".$secret_key,
27
'method' => 'POST',
28
'content' => json_encode($params),
29
'ignore_errors' => true
30
),
31
);
32
33
$context = stream_context_create($options);
34
$result = json_decode(@file_get_contents($PostURL, false, $context));
35
36
if($result->is_succeed == true)
37
{
38
echo "Başarılı";
39
}
40
else
41
{
42
echo "Başarısız";
43
}
44
45
?>
Copied!
Last modified 1yr ago
Copy link