Ana içeriğe geç

retrieve-payment

POST /api/{team}/gateway/retrieve-payment

Bir ödemenin sonucunu transaction.token ile döndürür. Hiçbir şeyi değiştirmez. Dönüş POST'u geldikten sonra ödemenin sonucu bu uçla alınır.

Kimlik doğrulama​

X-Api-Key, X-Signature, Content-Type: application/json. Ayrıntılar: Kimlik Doğrulama ve İmza.

İstek​

{
"transaction": {
"token": "0b8f6c2d-3e41-4a7b-9c5d-1e2f3a4b5c6d"
}
}
AlanTipZorunluAçıklama
transaction.tokenstring (UUID)evetÖdemenin token'ı: ödeme yanıtındaki transaction.token ya da dönüş POST'undaki transaction_token. Çalışma alanınıza ait olmalıdır.

SDK örnekleri​

use Gurmehub\Odemehub\Request\RetrievePayment;

$payment = $client->retrievePayment(new RetrievePayment(
transactionToken: $_POST['transaction_token'],
));

if ($payment->result->successful) {
// $payment->channelReference ile siparişinizi eşleştirin
}

Yanıt​

{
"result": {
"successful": true,
"message": null
},
"transaction": {
"token": "0b8f6c2d-3e41-4a7b-9c5d-1e2f3a4b5c6d",
"channel_token": "6f1c2e7a-4b3d-4c8e-9a61-2f5d7b0c3e14",
"channel_reference": "SIP-10231"
},
"customer": {
"channel_reference": "musteri-88"
},
"conversion": null
}

Yanıt, ödeme uçlarının yanıtıyla aynı biçimdedir; result.redirect_url bulunmaz.

AlanTipAçıklama
result.successfulbooleanYalnızca ödeme başarıyla tamamlandıysa true.
result.messagestring | nullsuccessful false ise ödemenin kayıtlı hata mesajı. Henüz tamamlanmamış bir 3D ödemesinde boş string ("") döner.
transaction.tokenstringÖdemenin token'ı.
transaction.channel_tokenstringÖdemenin kanalı.
transaction.channel_referencestringÖdemeyi başlatırken gönderilen channel_reference.
customer.channel_referencestringMüşterinin channel_reference değeri.
conversionobject | nullKur çevirisi uygulandıysa {amount, currency, rate}; değilse null.
saved_cardobject | nullYalnızca ödeme card.should_save: true ile başlatıldıysa bulunur. Ödeme başarılı ve kart saklandıysa kart nesnesi, değilse null.

result.successful: false durumları​

false değeri şu durumların hepsinde döner; yanıt bunları ayrı bir durum alanıyla ayırmaz:

  • Sağlayıcı ödemeyi reddetti.
  • 3D ödemesi başlatıldı ama henüz tamamlanmadı (message: "").
  • redirect_url 15 dakika içinde açılmadığı için ödemenin süresi doldu (message: Müşteri 3D doğrulama sayfasını süresi içinde açmadığı için ödemenin süresi doldu.).

İade ya da iptal edilmiş bir ödeme için de successful true kalır; bu uç ödemenin geri verilip verilmediğini göstermez.

HTTP durum kodları​

KodDurum
200Ödeme bulundu.
401API anahtarı ya da imza geçersiz.
403Çalışma alanı işlem yapamıyor.
422transaction.token eksik, UUID değil ya da çalışma alanınıza ait bir ödeme değil.

Hatalar​

AlanMesaj
transaction.tokenBu işlem bulunamadı. (başka bir çalışma alanının ödemesi için de aynı mesaj döner)