3D Secure Sonuç Sorgulama
Bu endpoint, 3D Secure doğrulama işleminin sonucunu sorgulamak için kullanılır. init3ds adımından sonra kullanıcı bankadaki doğrulamayı tamamlayıp CallbackUrl'e yönlendirildiğinde, bu endpoint ile doğrulama sonucunu kontrol edersiniz.
Bu endpoint'e JSON body ile istek gönderilir. Kimlik doğrulama bilgileri (PublicKey, Nonce, Signature, ConversationId, MerchantNumber) header olarak iletilir.
Ön Koşullar
Bu endpoint'i çağırmadan önce aşağıdaki adımların tamamlanmış olması gerekir:
-
Kimlik doğrulama değerlerini hazırlayın —
PublicKey,Nonce,SignatureveConversationIddeğerlerini oluşturun. Test ortamında Test İmzası Oluştur endpoint'ini kullanabilirsiniz. -
3D Secure başlatma tamamlanmış olmalı — /v1/ThreeDS/init3ds endpoint'i çağrılmış ve kullanıcı banka doğrulama sayfasından
CallbackUrl'e dönmüş olmalıdır.
API Playground
Header Parameters
İşlem yapan kullanıcının IP adresi (örn: 192.168.1.1)
Request Body
application/json
Response Body
application/json
curl -X POST "https://testpfapi.rubikpara.com/v1/ThreeDS/getthreedsessionresult" \ -H "PublicKey: Xu3aI6WHR6geG/I/swR0Lg==" \ -H "Nonce: " \ -H "Signature: " \ -H "ConversationId: test123456" \ -H "ClientIpAddress: 192.168.1.1" \ -H "MerchantNumber: 1100000001" \ -H "Content-Type: application/json" \ -d '{}'{
"conversationId": "test123456"
}Akış
Sonuç Sorgulama İsteği Gönderin
Callback sonrası threeDSessionId ile doğrulama sonucunu sorgulayın:
POST /v1/ThreeDS/getthreedsessionresult
Content-Type: application/json
PublicKey: your-public-key
Nonce: 1770629965755
Signature: dZspDJX18zdC1MnX4d0mhIX0F3IitK0+DQb5ZyxqR3U=
ConversationId: conv-001
MerchantNumber: 000001
{
"threeDSessionId": "3ds_session_abc123",
"languageCode": "tr"
}Yanıtı Değerlendirin
{
"isSucceed": true,
"errorCode": null,
"errorMessage": null,
"conversationId": "conv-001",
"currentStep": "VerificationFinished",
"mdStatus": "1",
"mdErrorMessage": null,
"halfSecure": false
}Yanıttaki isSucceed, currentStep ve mdStatus değerlerini kontrol ederek bir sonraki adıma geçin.
Ödeme Adımına Geçin
isSucceed = true ve currentStep = VerificationFinished ise threeDSessionId değerini kullanarak Ödeme (Provizyon) isteği gönderin.
Sonuç Değerlendirme
currentStep Değerleri
| Değer | Açıklama | Aksiyon |
|---|---|---|
SessionIdRequested | 3DS oturumu oluşturuldu, doğrulama henüz başlamadı | Bekleyin, init3ds adımına geçin |
VerificationStarted | Doğrulama başlatıldı, kullanıcı banka sayfasında | Callback'i bekleyin |
VerificationFinished | 3DS doğrulama tamamlandı | mdStatus değerini kontrol edip ödeme adımına geçin |
ProvisionCompleted | Ödeme (provizyon) işlemi tamamlandı | İşlem zaten tamamlanmış |
mdStatus Değerleri
| mdStatus | Açıklama | Ödemeye Devam |
|---|---|---|
1 | Kart sahibi doğrulaması başarılı (Tam 3D Secure) | Evet |
2 | Kart sahibi veya bankası 3DS'e kayıtlı değil | Duruma göre |
3 | Banka 3DS'e kayıtlı değil | Duruma göre |
4 | Doğrulama denemesi, kart sahibi daha sonra kaydolmayı seçti | Duruma göre |
5 | Doğrulama yapılamadı | Hayır |
6 | 3DS hatası | Hayır |
7 | Sistem hatası | Hayır |
8 | Bilinmeyen kart numarası | Hayır |
0 | Doğrulama başarısız | Hayır |
mdStatus = 1 tam güvenli (full secure) doğrulama anlamına gelir ve ödemeye devam edilmelidir.
mdStatus = 2, 3, 4 değerleri yarı güvenli (half secure) kabul edilir. Bu durumlarda yanıttaki halfSecure alanı true döner. Yarı güvenli işlemleri kabul edip etmemek üye işyerinin tercihine bağlıdır.
mdStatus = 0, 5, 6, 7, 8 durumlarında ödeme adımına geçmeyiniz. Kullanıcıya uygun bir hata mesajı gösterin.