Ana içeriğe geç

retrieve-bin

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

Kart numarasının ilk 6–8 hanesiyle kartı çıkaran kurumu, kartın şemasını, tipini ve programını ve verilen tutar için taksit seçeneklerini döndürür. Çekim yapılmaz. Kullanım: Taksit ve Kur Çevirisi.

Kimlik doğrulama​

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

İstek​

{
"transaction": {
"amount": "450.00"
},
"card": {
"bin": "54003600"
}
}
AlanTipZorunluAçıklama
card.binstringevetKart numarasının ilk 6–8 hanesi; yalnızca rakam.
transaction.amountstringevetTaksitlerin hesaplanacağı tutar, tutar biçiminde.
transaction.currencystringhayırTRY, USD, EUR, GBP. Gönderilmezse TRY.
transaction.payment_provider_tokenstring (UUID)hayırSorgulanacak ödeme hesabı. Gönderilmezse, kartın yönlendirme kurallarına göre gideceği hesap (kural tutmazsa varsayılan hesap) sorgulanır.

payment_provider_token gönderilmeden sorgulanan taksitler, yine payment_provider_token gönderilmeden yapılan bir ödemeyle aynı hesaptan gelir.

SDK örnekleri​

use Gurmehub\Odemehub\Request\RetrieveBin;

$bin = $client->retrieveBin(new RetrieveBin(bin: '54003600', amount: '450.00'));

if ($bin->result->successful) {
foreach ($bin->installments as $installment) {
echo "{$installment->number} x {$installment->amount} = {$installment->total}";
}
}

Yanıt​

{
"result": {
"successful": true,
"message": null
},
"card": {
"bin": "54003600",
"issuer_name": "<kartı çıkaran kurum>",
"issuer_code": "<kurum kodu>",
"scheme": "mastercard",
"type": "credit",
"program": "<program>",
"is_commercial": false
},
"installments": [
{ "number": 3, "amount": "157.87", "total": "473.60" }
]
}
AlanTipAçıklama
result.successfulbooleanSorgu yanıtlandıysa true.
result.messagestring | nullsuccessful false ise nedeni.
card.binstringGönderilen haneler.
card.issuer_namestring | nullKartı çıkaran kurum.
card.issuer_codestring | nullKurumun kodu.
card.schemestring | nullvisa, mastercard, american_express, troy, discover, diners_club, jcb, unionpay, maestro.
card.typestring | nullcredit, debit, prepaid.
card.programstring | nullKartın programı.
card.is_commercialboolean | nullTicari kart ise true.
installments[]arrayTaksit seçenekleri. TRY dışında bir para biriminde (ya da kur çevirisiyle TRY dışında çekilecek tutarda) her zaman boş dizidir.
installments[].numberintegerTaksit sayısı. Ödemede transaction.installment_number olarak gönderilir.
installments[].amountstringTaksit başına tutar.
installments[].totalstringKarttan çekilecek toplam. Ödemede transaction.amount olarak, sorgulanan tutar transaction.base_amount olarak gönderilir.

Sağlayıcının döndürmediği kart alanları null olur.

HTTP durum kodları​

KodDurum
200Sorgu işlendi; sonuç result.successful içinde.
401API anahtarı ya da imza geçersiz.
403Çalışma alanı işlem yapamıyor.
422Doğrulama hatası.

Hatalar​

AlanMesaj
card.binKart numarasının en az ilk 6 hanesi gönderilmelidir. / Kart numarasının en çok ilk 8 hanesi gönderilir. / Kart numarasının ilk haneleri yalnızca rakamlardan oluşur.
transaction.amountTutar 100 veya 100.10 biçiminde olmalıdır; kuruş basamağı noktayla ayrılır.
transaction.currencyBu ödeme hesabı <para birimi kodu> para biriminde işlem almıyor.
transaction.payment_provider_tokenÖdeme hesabı belirtilmedi ve çalışma alanınızın varsayılan ödeme hesabı yok.