3D Secure ile yapılan ödemeler üç adımda gerçekleşir: başlatma, doğrulama ve tamamlanma. Başlatma isteğinde Craftgate API'sine 3D Secure başarı durumunun iletilebileceği bir callback URL verilirken; bu URL ile tetiklenen üye işyeri iş süreçleri de ödeme ID'sini belirterek ödemeyi tamamlama isteği gönderir ve sürecin uçtan uca tamamlanmasını sağlar.
3D Secure ödeme başlatmak için kullanılan endpoint ve http metod bilgisi aşağıda verilmiştir.
HTTP Metod | URL |
---|---|
POST |
/payment/v1/deposits/3ds-init |
3D Secure ile yapılacak ödemelerde diğer ödemelerden farklı olarak callbackUrl
parametresinin gönderilmesi zorunludur. Bu bağlamda 3D Secure ile bir ödeme başlatmak gereken parametreler aşağıdaki gibidir.
Parametre Adı | Tipi | Zorunlu | Açıklama |
---|---|---|---|
price |
decimal |
Evet | Yatırılacak tutar |
buyerMemberId |
number |
Evet | Ödemenin ilişkilendirildiği alıcı ID'si. Üye işyerinin kendi sistemlerindeki ID değerini değil, Craftgate sistemlerindeki ID değerini ifade eder |
currency |
Currency |
Evet | bkz: Para Birimleri Ödemenin tahsil edileceği para birimi |
conversationId |
string |
Hayır | İstekle beraber gönderilip, cevapla birlikte alınabilecek, "bumerang" değer. Farklı istekleri birbirleriyle ilişkilendirmek için kullanılabilir. Genellikle üye işyerinin ödemeye ilişkin sipariş numarası kullanılır |
callbackUrl |
string |
Evet | 3D Secure ile yapılan ödemelerde bankadan dönen sonucu üye işyerine iletmek için kullanılacak adres (bkz. 3D Secure ile Ödeme Alma) |
posAlias |
string |
Hayır | Ödemeyi geçirmek istediğiniz posun alias değeri |
card |
Card |
Hayır | (bkz. Kart Bilgileri) Tahsilatın gerçekleştirileceği kart bilgileri |
Gönderilen kart bilgilerindeki cardUserKey
alanı doluysa Saklı Kart Bilgileri bölümündeki alanlar geçerlidir, diğer durumlar için bkz. Kredi Kartı, Debit Kart ya da Prepaid Kart Bilgileri.
3D Secure ile ödeme işleminin sonucunda dönen parametreler API dokümantasyonu giriş sayfasındaki Dönüş Formatları bölümünde belirtilen kurallara tabidir. Sistemsel ya da kurgusal bir hata bulunmadığı durumda data
parametresinde dönen objenin alt parametreleri aşağıdaki gibidir:
Parametre Adı | Tipi | Her Zaman Mevcut | Açıklama |
---|---|---|---|
htmlContent |
string |
Evet | Kullanıcıya gösterilecek 3D Secure formunun HTML kod içeriği. Bu değer Base64-encoded olarak gönderilmekte olup, gösterimden önce üye işyeri tarafindan Base64 decode edilmelidir |
Üye işyeri tarafından gönderilen ödeme başlatma isteği ile başlayan 3D Secure ödeme süreci, kullanıcı doğrulaması ile devam eder. Bunun için başlatma isteğine dönülen cevaptaki HTML içeriğinin decode edilerek kullanıcıya gösterilmesi gerekmektedir.
Kullanıcı kendisine iletilen doğrulama kodu girdikten sonra doğrulama sonucu ilgili banka tarafından Craftgate API'sine iletilir. Craftgate API, aldığı sonucu ödemeyle ilgili birtakım bilgilerle birlikte harmanlayarak, ödeme başlatma isteğinde üye işyeri tarafından gönderilmiş olan callbackUrl
adresine bir istek yaparak iletir.
Aşağıdaki parametreler form variable olarak HTTP POST metodu kullanılarak iletilir. Doğrulama sonrası Craftgate tarafından callbackUrl
'e yapılacak istekte yer alan parametreler aşağıdaki gibidir:
Parametre Adı | Tipi | Her Zaman Mevcut | Açıklama |
---|---|---|---|
status |
string |
Evet | 3D Secure doğrulamasının durumunu ifade eden değer. Doğrulama başarılıysa SUCCESS , değilse FAILURE değerini alacaktır |
conversationId |
string |
Hayır | Ödeme başlatma isteğinde gönderilen conversationId parametresinin değeri |
paymentId |
number |
Hayır | Doğrulama başarılı olduğu durumda gönderilir. Ödemeye ilişkin Craftgate API tarafından türetilen ID değeridir |
Doğrulaması başarıyla gerçekleşen ödemelerde, sonucun Craftgate tarafından callbackUrl
'e yapılacak istekle üye işyerine iletilmesinin ardından, üye işyerinin Craftgate API'ye bir tamamlama isteği gönderek süreci tamamlaması gerekmektedir. Bu istek yapılmadığı sürece tahsilat gerçekleşmeyecektir. Tamamlanma isteği yapılmadığı ya da doğrulama sonrası Craftgate tarafından callbackUrl
'e erişilemediği için askıda kalacak ve üye işyeri panelinde sarı renkle gösterilecektir.
3D Secure ödeme tamamlamak için kullanılan endpoint ve http metod bilgisi aşağıda verilmiştir.
HTTP Metod | URL |
---|---|
POST |
/payment/v1/deposits/3ds-complete |
Doğrulama adımından başarıyla geçen ödemeler için yapılacak tamamlama isteğinin parametreleri aşağıdaki gibidir:
Parametre Adı | Tipi | Her Zaman Mevcut | Açıklama |
---|---|---|---|
paymentId |
number |
Evet | Ödemeye ilişkin olarak Craftgate API tarafından türetilen ve callbackUrl 'e iletilen ödeme ID'si |
3D Secure ile yapılan ödemelerin tamamlama isteklerine verilen cevap, standart bir ödeme ile eşdeğer olup, ödemeye ilişkin detayları içerir. Bu cevabın formatı ve içerdiği parametreler için bkz. Ödeme Alma - Dönüş Parametreleri
Cüzdana yatırılan parayı karta iade etmek için Cüzdandan İade sayfasını ziyaret edin.
Açık kaynak kodlu Craftgate API client'larındaki örnek kodları inceleyebilirsiniz.