3D ile ödeme
Last updated
Last updated
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.
Ödeme işleminden farklı olarak return_url parametresi gönderilir. Servisden dönen post_url ya da html_content parametrelerini kullanarak bankaların 3D doğrulama sayfasını açabilirsiniz.
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.
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.
No
Parametre İsmi
Tip
Zorunlu
Açıklama
1
amount
decimal
Evet
Kredi kartından çekilecek tutar.
2
reference_no
string(50)
Evet
Ödeme işleminin ilişkili olduğu referans numarası. Tekil (unique) bir veri olmalı. ( örn: sipariş numarası )
3
return_url
string(256)
Evet
3D doğrulama sonucunun post edileceği URL
4
domain
string(256)
Evet
İşlemin yapıldığı uygulamanın domain bilgisi. ( örn: www.acme.com )
5
card_holder
string(50)
Hayır
Kart sahibi bilgisi.
Saklı kart ile işlem yapılmıyorsa zorunlu.
6
pan
string
Hayır
Kart numarası.
Saklı kart ile işlem yapılmıyorsa zorunlu.
7
month
int
Hayır
Son kullanma tarihi Ay bilgisi. ( örn: 8,12 )
Saklı kart ile işlem yapılmıyorsa zorunlu.
8
year
int
Hayır
Son kullanma tarihi Yıl bilgisi. ( örn: 2020, 2030 ) Saklı kart ile işlem yapılmıyorsa zorunlu.
9
cvc
string
Hayır
Kart güvenlik kodu.
Saklı kart ile işlem yapılmıyorsa zorunlu.
10
card_hash
string
Hayır
Saklı kartın token bilgisi. Kart bilgileri girilmemiş ise bu bilgi zorunlu.
11
card_holder_phone
string(10)
Hayır
Kart sahibinin telefon numarası
12
card_holder_mail
string(60)
Hayır
Kart sahibi email adresi.
13
description
string(140)
Hayır
İşlem ile ilgili açıklama alanı.
14
instalment
int
Hayır
İşlemin kaç taksit yapılacağı bilgisi. Değer gönderilmezse tek çekim uygulanır.
15
agent_id
string(10)
Hayır
Eğer alt bayileriniz var ise işlemin hangi bayi üzerinden geldiğini bu alana bayi kodu göndererek yapabilirsiniz.
16
company_amount
decimal
Hayır
Eğer alt bayileriniz var ise işlemin ne kadarının sizin hesabınıza aktarılacağını belirleyebilirsiniz.
17
add_commission
bool
Hayır
İşlem komisyonunun karttan çekilecek tutar'a eklenmesini istiyorsanız "true" gönderebilirsiniz.
18
transaction_type
char(1)
Hayır
Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.
19
ratio_code
string(8)
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.
20
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.
21
card_desc
string(100)
Hayır
Kart saklama işlemi yapılıyor ise bu alan zorunludur.
22
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.
23
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.
24
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.
25
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.
26
invoice_no
string
Hayır
Düzenli ödeme fatura numarası.
27
ratio_code_method
char(1)
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
28
merge_option
bool
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
29
pos_type
int
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz
30
approved_card
bool
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
No
Parametre İsmi
Tip
Açıklama
1
post_url
string
Bu URL'e redirect ettiğinizde bankanın 3D doğrulama sayfasını gösterir.
2
html_content
string
post_url yerine bu HTML content'i sayfanıza eklediğinizde bankanın 3D doğrulama sayfasını gösterir.
3
token_id
string
İşlemin token bilgisi
4
session_id
string
3D ödeme akışının session bilgisi
5
object_name
string
tdsinitial_response
6
code
string
Bknz.HTTP Status Kodlar
7
message
string
işlem sonuç mesajı
Sistem
URL
Canlı sistem
Test sistemi
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
char(1)
Hayır
Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.
company_amount
decimal
Hayır
Eğer alt bayileriniz var ise işlemin ne kadarının sizin hesabınıza aktarılacağını belirleyebilirsiniz.
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
char(1)
işlem tipi 1: satış, 2: ön provizyon
pos_type
int
pos tipi
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
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
amount
decimal
Brüt işlem tutarı
net_amount
decimal
Komisyon hariç tutar
comission
decimal
Komisyon tutarı
comission_tax
decimal
Komisyon hizmet tutarı
currency
string
Para birimi
authorization_code
string
Banka onay kodu
reference_code
string
Banka referans kodu
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ı
agent_reference_no
string
Request sırasında gönderilen referans kodu
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 kodu
message
string
İşlem sonuç mesajı
Sistem
URL
Canlı sistem
Test sistemi