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

Ö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

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.

transaction_type

int

Hayır

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

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

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.

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 updated