GetThreeDSession
3D Secure ile provizyon işlemi başlatılmadan önce, işlem 3D Secure doğrulama yöntemiyle gerçekleştirilecekse cardToken oluşturulduktan sonra bu servis çağrılarak bir sessionId üretilmelidir. Bu servis application/json içerik tipi ile çalışır ve girdi parametreleri Tablo 5.9’da detaylandırılmıştır. İstek Tipi: application/json GetThreeDSession Servisi Girdi Parametreleri| Parametre Adı | Veri Tipi | Açıklama | Zorunluluk |
|---|---|---|---|
| amount | number | İşlem tutarı | Evet |
| pointAmount | number | İşlemde kullanılacak puan tutarı | Hayır |
| cardToken | string | Oluşturulan token bilgisi | Evet |
| currency | string | İşleme ait para birimi (default: TRY) | Evet |
| paymentType | string | İşlem tipi (Auth / preAuth / postAuth) | Evet |
| installmentCount | integer | İşleme ait taksit değeri | Hayır |
| languageCode | string | Cevabın alınacağı dil bilgisi (default: TR) | Hayır |
| merchantCustomerEmail | string | Üye iş yeri müşterisinin email bilgisi | Hayır |
| merchantCustomerIdentityNumber | string | Üye iş yeri müşterisinin kimlik bilgisi | Hayır |
| merchantCustomerIp | string | Üye iş yeri müşterisinin IP bilgisi | Hayır |
| merchantCustomerPhoneCode | string | Üye iş yeri müşterisinin telefon kodu | Hayır |
| merchantCustomerPhoneNumber | string | Üye iş yeri müşterisinin telefon numarası | Hayır |
| callbackUrl | string | Bankanın döndüğü URL bilgisi | Hayır |
| successUrl | string | Bankanın başarılı işlem için döndüğü URL bilgisi | Hayır |
| failUrl | string | Bankanın hatalı durumlar için döndüğü URL bilgisi | Hayır |
GetThreeDSession Servisi Örnek Request
GetThreeDSession Servisi Çıktı Parametreleri**
| Parametre Adı | Veri Tipi | Açıklama | Zorunluluk |
|---|---|---|---|
| threeDSessionId | string | 3D Secure işlem sürecini başlatmak için gerekli değer | Evet |
| conversationId | string | Üye iş yeri benzersiz değeri | Evet |
| isSucceeded | boolean (true/false) | İşlem durumu | Evet |
| errorCode | string | Hata kodu | Evet |
| errorMessage | string | Hata mesajı | Evet |
| extraParameters | array[object] | Ek parametre alanı | Hayır |
| acquirerBankCode | string | Ödeme bankası bilgisi | Hayır |
| issuerBankCode | string | Kart bankası bilgisi | Hayır |
| reconciliationDate | date | İşlemin tamamlanma tarihi | Hayır |
GetThreeDSession Servisi Örnek Response
GetThreeDSessionResult
GetThreeDSessionResult, 3D Secure doğrulama sürecinin sonucunu sorgulamak için kullanılır. Doğrulamanın başarılı olduğu (isSucceed = true ve currentStep = VerificationFinished) tespit edildikten sonra, oluşturulan sessionId provizyon isteğine eklenerek ödeme servisi çağrılır. Bu servis application/json içerik tipi ile çalışır ve girdi parametreleri Tablo 5.13’te belirtilmiştir. İstek Tipi: application/json GetThreeDSessionResult Servisi Girdi Parametreleri| Parametre Adı | Veri Tipi | Açıklama | Zorunluluk |
|---|---|---|---|
| threeDSessionId | string | 3D Secure işlem sürecini başlatmak için gerekli değer | Evet |
| languageCode | string | Cevabın alınacağı dil bilgisi (default: TR) | Hayır |
| merchantCustomerEmail | string | Üye iş yeri müşteri email bilgisi | Hayır |
| merchantCustomerIdentityNumber | string | Üye iş yeri müşteri kimlik bilgisi | Hayır |
| merchantCustomerIp | string | Üye iş yeri müşteri IP bilgisi | Hayır |
| merchantCustomerPhoneCode | string | Üye iş yeri müşteri telefon kodu bilgisi | Hayır |
| merchantCustomerPhoneNumber | string | Üye iş yeri müşteri telefon numarası bilgisi | Hayır |
GetThreeDSessionResult Servisi Örnek Request
Tablo 5.15. GetThreeDSessionResult Servisi Çıktı Parametreleri
| Parametre Adı | Veri Tipi | Açıklama | Zorunluluk |
|---|---|---|---|
| conversationId | string | Üye iş yeri benzersiz değeri | Evet |
| isSucceeded | boolean (true/false) | İşlem durumu | Evet |
| errorCode | string | Hata kodu | Evet |
| errorMessage | string | Hata mesajı | Evet |
| currentStep | string | 3D doğrulama işleminin adımı (0, 1, 2, 3) | Hayır |
| mdStatus | string | 3D doğrulama sonucunda bankadan dönen değer (0–9) | Hayır |
| mdErrorMessage | string | 3D doğrulama sonucunda bankadan dönen hata mesajı | Hayır |
| halfSecure | boolean (true/false) | İşlemin half secure gerçekleşme bilgisi | Hayır |
| approvalCode | string | Bankadan dönen onay kodu bilgisi | Hayır |
| threeDResult | string | True ise 0, false ise 1 | Hayır |
| threeDResultDescription | string | 3D işlem sonucunun açıklaması | Hayır |
ablo 5.16. GetThreeDSessionResult Servisi Örnek Response
Tablo 5.17. mdStatus Açıklamaları
| mdStatus Değeri | Açıklama |
|---|---|
| 1 | Doğrulanmış işlem (Full 3D) |
| 2, 3, 4 | Kart kayıtlı değil (Half 3D) |
| 5, 6, 7, 8, 9 | Geçerli doğrulama yok veya sistem hatası |
| 0 | Doğrulama başarısız |
Tablo 5.18. currentStep Açıklamaları
| currentStep | Açıklama |
|---|---|
| SessionIdRequested | threeDSessionId üretilmesinin ardından oluşan statüdür. |
| VerificationStarted | init3ds servisi çağrıldıktan sonra doğrulama işleminin başlatıldığını ifade eder. |
| VerificationFinished | Doğrulama işleminin tamamlandığını ifade eder. |
| ProvisionCompleted | Doğrulama sonrası provizyon servisinin çağrılmasıyla ödemenin tamamlandığını ifade eder. |
Init3ds
Init3ds, 3D Secure doğrulama sürecini başlatmak için kullanılan servistir ve HTTP Form POST yöntemiyle çalışır. Bu serviste, kimlik doğrulama bilgileri diğer servislerden farklı olarak header yerine form-data formatında gönderilmelidir. ** İstek Tipi:** multipart/form-dataTablo 5.19. init3ds Servisi Girdi Parametreleri
| Parametre Adı | Veri Tipi | Açıklama | Zorunluluk |
|---|---|---|---|
| threeDSessionId | string | 3D Secure işlem sürecini başlatmak için gerekli değer | Evet |
| callbackUrl | string | 3D doğrulama işleminin sonuçlandığı URL bilgisi | Evet |
| languageCode | string | Cevabın alınacağı dil bilgisi (default: TR) | Hayır |
| clientIpAddress | string | Üye iş yeri IP adresi | Evet |
| publicKey | string | Üye iş yeri açık anahtarı | Evet |
| nonce | string | Zaman damgası | Evet |
| signature | string | Kimlik anahtar değeri | Evet |
| conversationId | string | Üye iş yeri benzersiz değeri | Evet |
| merchantNumber | string | Üye iş yeri numarası | Evet |
Tablo 5.20. Init3ds Servisi Örnek Request (form-data)
| Parametre Adı | Veri Tipi | Açıklama | Zorunluluk |
|---|---|---|---|
| conversationId | string | Üye iş yeri benzersiz değeri | Evet |
| isSucceeded | boolean (true/false) | İşlem durumu | Evet |
| errorCode | string | Hata kodu | Evet |
| errorMessage | string | Hata mesajı | Evet |
| htmlContent | string | Kullanıcının kart bankasının 3D sayfasına yönlendirilmesi için kullanılacak HTML | Evet |