Paynet API
Search…
3D ile ödeme
3D’li ödeme iki adımdan oluşur. Bunlar 3D ödeme başlatma ve 3D ödemesi yapmaktır. 3D Ödeme başlatma servisi ile bankaların 3D doğrulama sayfalarına erişim yapılacak url ve ya html içeriğe erişebileceksiniz. 3D ödemesi ile de 3D doğrulama sonucuna göre ödeme işlemini sonlandırırsınız.
  • 3D ödeme başlatma servisine, ödeme servisine ek olarak 3D doğrulama sonucunun döneceği return_url parametresi ile request gönderilir.
  • Uygulamanızı 3D ödeme başlatma servisinden dönen "post_url" parametresine redirect edersiniz.
  • Bankaların 3D doğrulama ekranı açılır.
  • 3D doğrulama sonucu başlatma servisine gönderdiğiniz return_url parametresinde belirtilen url'e post edilir.
  • return_url'inize gelen parametreleri 3D ödemesi servisine post edersiniz ve sonucu kontrol edersiniz.

3D ödeme başlatma

Ödeme işleminden farklı olarak return_url parametresi gönderilir. Servisten dönen post_url ya da html_content parametrelerini kullanarak bankaların 3D doğrulama sayfasını açabilirsiniz.
https://api.paynet.com.tr/v2/transaction/tds_initial
İstek Parametreleri
Dönüş Parametreleri
Request
Response
Service Url
Parametre İsmi
Tip
Zorunlu
Açıklama
amount
string
Evet
Kredi kartından çekilecek tutar. Ondalık ayıraç olarak virgül (,) kullanılmaktadır.
reference_no
string
Evet
Ödeme işleminin ilişkili olduğu referans numarası. Tekil (unique) bir veri olmalı. (örn: sipariş numarası)
agent_reference_no
string
Hayır
Ana firma bayi referans kodu
return_url
string
Evet
3D doğrulama sonucunun post edileceği URL
domain
string
Evet
İşlemin yapıldığı uygulamanın domain bilgisi. (örn: www.acme.com )
card_holder
string
Hayır
Kart sahibi bilgisi.
Saklı kart ile işlem yapılmıyorsa zorunlu.
pan
string
Hayır
Kart numarası.
Saklı kart ile işlem yapılmıyorsa zorunlu.
month
int
Hayır
Son kullanma tarihi Ay bilgisi. ( örn: 8,12 )
Saklı kart ile işlem yapılmıyorsa zorunlu.
year
int
Hayır
Son kullanma tarihi Yıl bilgisi. ( örn: 2020, 2030 ) Saklı kart ile işlem yapılmıyorsa zorunlu.
cvc
string
Hayır
Kart güvenlik kodu.
Saklı kart ile işlem yapılmıyorsa zorunlu.
card_hash
string
Hayır
Saklı kartın token bilgisi. Kart bilgileri girilmemiş ise bu bilgi zorunlu.
card_holder_phone
string
Hayır
Kart sahibinin telefon numarası
card_holder_mail
string
Hayır
Kart sahibi email adresi.
description
string
Hayır
İşlem ile ilgili açıklama alanı.
instalment
int
Hayır
İşlemin kaç taksit yapılacağı bilgisi. Değer gönderilmezse tek çekim uygulanır.
agent_id
string
Hayır
Eğer alt bayileriniz var ise işlemin hangi bayi üzerinden geldiğini bu alana bayi kodu göndererek yapabilirsiniz.
user_id
string
Hayır
Kullanıcı kodu
company_amount
string
Hayır
Eğer alt bayileriniz var ise işlemin ne kadarının sizin hesabınıza aktarılacağını belirleyebilirsiniz. Ondalık ayıraç olarak virgül (,) kullanılmaktadır.
add_commission
bool
Hayır
İşlem hizmet bedelinin karttan çekilecek tutar'a eklenmesini istiyorsanız "true" gönderebilirsiniz.
ratio_code
string
Hayır
Paynet.com.tr yönetim ekranlarında “API oran tanımları” sayfasından tanımlayabileceğiniz oran tablolarının “oran kodunu” bu alanda gönderebilirsiniz. Gönderdiğiniz oran koduna ait oran tablosu üzerinden komisyon hesaplaması yapılır. Bu sayede API üzerinden istediğiniz oranlar ile işlem yapabilirsiniz.
save_card
bool
Hayır
Ödeme işlemi ile birlikte kredi kart numarasının da saklanması istiyorsanız bu parametreyi true yollayabilirsiniz. Kart saklama işlemi yapıyorsanız card_desc zorunlu, card_owner_id ya da user_unique_id değerlerinden en az birini göndermeniz zorunlu.
card_desc
string
Hayır
Kart saklama işlemi yapılıyor ise bu alan zorunludur.
user_unique_id
string
Hayır
Üye iş yeri tarafından verilen kullanıcıya özgü benzersiz id. İlk defa kart saklama yapılıyorsa zorunlu. İlk kart saklama tamamlandıktan sonra Paynet tarafından bu kullanıcıya benzersiz bir değer atanır( card_owner_id). Bu değeri kendi sisteminizde kullanıcınız ile ilişkilendirerek saklamalısınız. Daha sonra bu kullanıcıya yapılan kart saklama işlemlerinde user_unique_id yerine Paynet tarafından verilen card_owner_id değişkenini kullanmalısınız.
card_owner_id
string
Hayır
İlk defa kart saklama yapıldıktan sonra, Paynet tarafından user_unique_id’ye göre oluşturulan kart sahibinin benzersiz bilgisi. Bir sonraki kart saklama ve karttan ödeme alma işlemlerinde bu değer kullanılır.
user_gsm_no
string
Hayır
Kart saklama işleminde ek olarak OTP kontrolü yapmak isterseniz bu parametre kullanılır. Daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
subscription_id
string
Hayır
Düzenli ödeme kodu, mevcut bir düzenli ödemenize manuel ödeme almak istediğinizde invoice_no ile beraber kullanılır.
invoice_no
string
Hayır
Düzenli ödeme fatura numarası.
ratio_code_method
char
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
merge_option
bool
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
pos_type
int
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz
approved_card
bool
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
dont_apply_campaign
bool
Hayır
İşlem esnasında herhangi bir artı taksitten yararlanmak istemiyorsanız bu parametreyi true olarak göndermelisiniz, default false'tur
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
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.
iban
string
Hayır
Başında ülke kodu olacak şekilde (örn "TR") toplamda 26 karakter olacak şekilde girilmelidir.
Parametre İsmi
Tip
Açıklama
post_url
string
Bu URL'e redirect ettiğinizde bankanın 3D doğrulama sayfasını gösterir.
html_content
string
post_url yerine bu HTML content'i sayfanıza eklediğinizde bankanın 3D doğrulama sayfasını gösterir.
token_id
string
İşlemin token bilgisi
session_id
string
3D ödeme akışının session bilgisi
object_name
string
tdsinitial_response
code
string
HTTP Status Kodlar. Bakınız
message
string
işlem sonuç mesajı
1
{
2
"return_url": "https://pts-kurumsal.paynet.com.tr/Demo/TDSCharge",
3
"amount": "20,50",
4
"reference_no": "REF1001",
5
"domain": "paynet.com.tr",
6
"card_holder": "Paynet A.Ş",
7
"pan": "1212121212121212",
8
"month": "12",
9
"year": "23",
10
"cvc": "000"
11
}
Copied!
1
{
2
"token_id": "DF63C3CB-358A-4258-BDDA-522F4D8C5FA8",
3
"session_id": "js_EAAAAFAL6CJHCCqAoll6DRsSqLfUMmn0pcqT6LZiJk6ZX*3G",
4
"post_url": "https://pts-api.paynet.com.tr/v1/paynetjgate/tds_easy?session_id=js_EAAAAFAL6CJHCCqAoll6DRsSqLfUMmn0pcqT6LZiJk6ZX*3G&token_id=DF63C3CB-358A-4258-BDDA-522F4D8C5FA8",
5
"html_content": "<form name=\"paynetForm\" id=\"paynetForm\" method=\"post\" action=\"https://pts-api.paynet.com.tr/v1/paynetjgate/tds_easy\"><input type=\"hidden\" name=\"session_id\" value=\"\"/><input type=\"hidden\" name=\"token_id\" value=\"\"/></form><script type=\"text/javascript\">document.forms[0].submit();</script>",
6
"object_name": "tdsinitial_response",
7
"code": 0,
8
"message": "Başarılı İşlem"
9
}
Copied!
Sistem
URL
Canlı sistem
https://api.paynet.com.tr/v2/transaction/tds_initial
Test sistemi
https://pts-api.paynet.com.tr/v2/transaction/tds_initial

3D Ödemesi Yapmak

3D doğrulama sonucunda kredi kartından ilgili tutarın çekim yapıldığı servis. "3D ödeme başlatma" servisinde kullandığınız return_url'e post edilen session_id ve token_id değerlerini bu service post edip ödeme akışını tamamlayabilirsiniz.
https://api.paynet.com.tr/v2/transaction/tds_charge
İstek Parametreleri
Dönüş Parametreleri
Request
Response
Service Url
Parametre İsmi
Tip
Zorunlu
Açıklama
session_id
string
Evet
3D ödeme akışının session bilgisi
token_id
string
Evet
İşlemin token bilgisi
transaction_type
int
Hayır
Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.
Parametre İsmi
Tip
Açıklama
id
int
tekil paynet işlem id
xact_id
string
paynet işlem id'nin hash değeri
xact_date
Datetime
işlemin tarihi
transaction_type
int
işlem tipi 1: satış, 2: ön provizyon
pos_type
int
pos tipi
agent_id
string
Bayi kodu
is_tds
string
True ise 3D'siz işlem yapılamaz. False ise 3D'li veya 3D'siz işlem yapılabilir.
user_id
string
Kullanıcı kodu
user_unique_id
string
Müşterinizin benzersiz numarası
email
string
Mail adresi
phone
string
Telefon bilgisi
bank_id
string
Banka kodu
bank_name
string
Banka adı
instalment
int
Taksit bilgisi
ratio
float
işlem komisyon oranı
card_no_masked
string
Maskeli kart bilgisi
card_holder
string
Kart sahibi
card_hash
string
Token edilmiş kart bilgisi
card_bank_id
string
Saklı kart bankası
amount
decimal
Brüt işlem tutarı
net_amount
decimal
Hizmet bedeli hariç tutar
comission
decimal
Hizmet bedeli tutarı
comission_tax
decimal
Hizmet bedelinin vergisi
currency
string
Para birimi
bank_authorization_code
string
Banka onay kodu
bank_reference_code
string
Banka referans kodu
bank_order_id
string
Banka sipariş numarası
is_succeed
bool
İşlemin başarılı ya başarısız olduğu bilgisi. true ise ilgili karttan tutar tahsil edilmiş demektir.
paynet_error_id
string
Paynet hata kodu
paynet_error_message
string
Paynet hata açıklaması
bank_error_id
string
Bankadan bildirilen hata kodu
bank_error_message
string
Bankadan bildirilen hata mesajı
bank_error_short_desc
string
Bankadan bildirilen hata mesajı
bank_error_long_desc
string
Bankadan bildirilen hata mesajı
reference_no
string
Request sırasında gönderilen referans kodu
xact_transaction_id
string
İşlem id
campaign_url
string
Bazı kart progamlarında + taksit ve taksit erteleme seçimi işlem sonrası başka bir uygulamada seçilebiliyor.
end_user_comission
decimal
ratio_code kullanımında komisyon değeri
end_user_ratio
float
ratio_code kullanımında komisyon oranı
ratio_code
string
oran kodu
ratio_code_method
string
oran kodu methodu
is_save_card_succeed
bool
Kart saklama işlemi yapılıyorsa kart saklama sonucu
save_card_result_message
string
Kart saklama mesajı
card_owner_id
string
Kart saklamada bir sonraki sefer kullanılacak id
card_logo_url
string
Saklı kart logosu
md_status
string
Banka 3D sonuç kodu
object_name
string
Nesne adı
code
string
HTTP status kodlar. Bakınız
message
string
İşlem sonuç mesajı
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_EAAAAFAL6CJHCCqAoll6DRsSqLfUMmn0pcqT6LZiJk6ZX*3G",
3
"token_id": "DF63C3CB-358A-4258-BDDA-522F4D8C5FA8"
4
}
Copied!
1
{
2
"is_tds": true,
3
"md_status": 1,
4
"id": 7438118,
5
"xact_id": "xk_EAAAADIJMBHKDhG0bG1f/yItmz1v9cZqMZVHViQJF0VezRKF",
6
"xact_date": "2020-02-25T15:12:48.353769+03:00",
7
"transaction_type": 1,
8
"pos_type": 5,
9
"agent_id": "1001",
10
"user_id": "paynet",
11
"email": null,
12
"phone": null,
13
"instalment": 4,
14
"ratio": 0,
15
"card_no_masked": "435508******4358",
16
"card_holder": "Paynet Ödeme Hizmetleri AŞ",
17
"amount": 6500.50,
18
"net_amount": 6500.50,
19
"comission": 0,
20
"comission_tax": 0,
21
"currency": "TRY",
22
"bank_id": "WRLD",
23
"bank_name": "WorldCard",
24
"bank_authorization_code": "159116",
25
"bank_reference_code": "90eb21b1be8044859dc9ab6c00faba89",
26
"bank_order_id": "B72A95279A3D4F54A41A408FB784E77A",
27
"is_succeed": true,
28
"paynet_error_id": "",
29
"paynet_error_message": "",
30
"bank_error_id": "",
31
"bank_error_message": "",
32
"bank_error_short_desc": "",
33
"bank_error_long_desc": "",
34
"reference_no": "857f60cf128ddbf112171522",
35
"xact_transaction_id": "B72A9527-9A3D-4F54-A41A-408FB784E77A",
36
"campaign_url": "",
37
"end_user_comission": 0,
38
"end_user_ratio": 0,
39
"ratio_code": "",
40
"ratio_code_method": "",
41
"is_save_card_succeed": false,
42
"save_card_result_message": "",
43
"card_owner_id": "",
44
"user_unique_id": "",
45
"card_hash": "",
46
"card_bank_id": "",
47
"card_logo_url": "",
48
"company_cost_ratio":"",
49
"company_commission":"",
50
"company_commission_with_tax":"",
51
"company_net_amount":"",
52
"plus_installment":"",
53
"card_type":"",
54
"card_brand_name":"",
55
"object_name": "tdscharge_response",
56
"code": 0,
57
"message": "Başarılı İşlem"
58
}
Copied!
Sistem
URL
Canlı sistem
https://api.paynet.com.tr/v2/transaction/tds_charge
Test sistemi
https://pts-api.paynet.com.tr/v2/transaction/tds_charge
tds_charge işlemi sırasında eğer connection timeout ya da execution time out gibi sebeplerden dolayı cevap alamıyorsanız, aynı session_id ve token_id ile cevap alana kadar işleme devam edebilirsiniz. Sistem aynı session_id ve token_id ile daha önceden başarılı bir işlem var ise o işlemi döndürür. Bu durumda sonuç kodu 0 yerine 100 döner, sonuç mesajı da “Önceki Başarılı İşlem” şeklinde döner.
Last modified 1yr ago