Ana içeriğe geç

3D Secure Ödeme

3D Secure, kullanıcıyı bankasının kimlik doğrulama sayfasına yönlendirerek ek bir güvenlik katmanı sağlar. Bu akış; kayıt (enrollment), müşteri doğrulaması ve nihai tamamlamayı içerir.

1. 3D Secure Kaydını Başlatma (Initiate Enrollment)

Ödeme ayrıntılarını ve geri dönüş URL'lerini sağlayarak 3D Secure sürecini başlatın.

POST/api/3ds

İstek Parametreleri (Request Parameters)

ParametreZorunluTipAçıklama
orderIdEvetstringSipariş için benzersiz takip numaranız (örneğin, ORD-12345).
amountEvetnumberİşlem tutarı (örneğin, 100.50).
currencyEvetstringISO para birimi kodu (örneğin, TRY).
installmentCountHayırnumberTaksit sayısı (varsayılan: 1). Bunu ayarlamadan önce Taksit Seçenekleri API'si üzerinden mevcut seçenekleri kontrol edin.
interestPaidByCustomerHayırbooleanFaizin müşteri tarafından ödenip ödenmeyeceği.
cardHolderNameEvetstringKart sahibinin adı.
panEvetstringTam kart numarası (16 hane).
expiryMonthEvetstringSon kullanma ayı (MM formatı, örneğin, 04).
expiryYearEvetstringSon kullanma yılı (YY formatı, örneğin, 28).
cvvEvetstringCVV/CVC kodu (3 veya 4 hane).
successUrlEvetstringBaşarılı banka kimlik doğrulamasından sonra gidilecek URL.
failureUrlEvetstringBaşarısız banka kimlik doğrulamasından sonra gidilecek URL.
requestIpEvetstringMüşterinin IP adresi.
requestPortEvetnumberMüşteri isteğinin port numarası.
customerIdHayırstringMüşteri için isteğe bağlı benzersiz tanımlayıcı.

Yanıt (Response)

AlanTipAçıklama
paymentIdstringÖdeme için benzersiz tanımlayıcı (UUID).
successbooleanKaydın başarılı olup olmadığını gösterir.
resultCodestringKayıt işleminin sonuç kodu (örneğin, SUCCESS).
resultMessagestringAçıklayıcı sonuç mesajı.
htmlContentstring3D Secure doğrulaması için son kullanıcıya sunulacak HTML içeriği.

2. 3D Secure Doğrulamasını Sunma

Dönen htmlContent içeriğini son kullanıcıya sunun. Bu genellikle içeriği bir iframe içinde oluşturmayı veya kullanıcıyı bankanın sayfasındaki 3D Secure doğrulamasını tamamlaması için yönlendirmeyi içerir.

3. 3D Secure Geri Dönüşünü (Callback) Karşılama

Kimlik doğrulama işleminden sonra ödeme sağlayıcısı, form verisi olarak gönderilen ilgili parametrelerle birlikte sağlanan geri dönüş URL'lerini (successUrl veya failureUrl) çağıracaktır.

Geri Dönüş Form Verisi Parametreleri (Callback Form Data)

AlanAçıklamaÖrnek
paymentIdÖdeme için benzersiz tanımlayıcı.123e4567-e89b-12d3-a456-426614174000
securityKey3D Secure kimlik doğrulama işleminden alınan güvenlik anahtarı.3DS_AUTH_KEY_123456

4. 3D Secure Ödemeyi Tamamlama

Geri dönüş URL'sinde alınan güvenlik anahtarını kullanarak işlemi sonlandırın.

POST/api/3ds/{paymentId}/complete

Yol Parametreleri (Path Parameters)

ParametreTipAçıklama
paymentIdstringGeri dönüş URL'sinde alınan UUID.

İstek Parametreleri (Request Parameters)

{
"securityKey": "3DS_AUTH_KEY_123456"
}

Yanıt (Response)

Tamamlanmış ödeme ayrıntılarını içeren bir ApiPaymentResponse nesnesi döner (Doğrudan Ödeme yanıtıyla aynıdır).


3D Secure Ödeme Akışı

  1. Kaydı Başlat: Ödeme ayrıntıları ve geri dönüş URL'leri ile /api/3ds uç noktasını çağırın.
  2. Doğrulama Ekranını Göster: Kullanıcıya dönen htmlContent içeriğini sunun.
  3. Kimlik Doğrulama: Kullanıcı, bankanın 3D Secure sürecini tamamlar.
  4. Geri Dönüşü Al: Sağlayıcı, paymentId ve securityKey parametrelerini içeren bir POST isteğini geri dönüş URL'nize gönderir.
  5. Sonlandır: Parametreleri ayıklayın ve /api/3ds/{paymentId}/complete uç noktasını çağırın.
  6. Durumu Doğrula: Yalnızca yanıtın status alanı SUCCESS ise ödemeyi başarılı kabul edin.

Taksit Seçenekleri (Installment Options)

Ödeme yapmadan önce belirli bir kart için mevcut taksit planlarını alın.

POST/api/installment-options

İstek Gövdesi (Request Body)

ParametreZorunluTipAçıklama
amountEvetnumberToplam işlem tutarı (örneğin, 1000.00).
currencyEvetstringISO para birimi kodu (örneğin, TRY).
panEvetstringKartın ilk 6 hanesi (BIN) veya tam kart numarası.
maxInstallmentCountHayırnumberAlınacak maksimum taksit sayısı (varsayılan: 12).
interestPaidByCustomerHayırbooleanFaizin müşteri tarafından ödenip ödenmeyeceği.

Yanıt (Response)

AlanTipAçıklama
installmentCountnumberTaksit sayısı.
installmentAmountnumberAy başına taksit tutarı.
currencystringISO para birimi kodu.
interestAmountnumberOluşan toplam faiz (ana paraya eklenir).
totalAmountnumberÖdenecek toplam tutar (Ana Para + Faiz).