Taksit ve Kur Çevirisi
Taksit
Taksit seçenekleri retrieve-bin ile alınır ve ödeme isteğinde üç alanla gönderilir.
retrieve-bin yanıtı | Ödeme isteği alanı |
|---|---|
installments[].number | transaction.installment_number |
installments[].total | transaction.amount (karttan çekilecek tutar) |
Sorgudaki transaction.amount | transaction.base_amount (satılan tutar) |
base_amount,amountdeğerinden büyük olamaz. Gönderilmezseamountile aynı kabul edilir.- Taksit yalnızca Türk Lirası için geçerlidir.
currencyTRYdeğilse ya da ödeme kur çevirisiyleTRYdışında çekilecekseinstallment_number1olmalıdır veretrieve-binboşinstallmentsdöner. retrieve-binve ödeme isteğindepayment_provider_tokenbirlikte gönderilmeli ya da birlikte gönderilmemelidir; gönderilmediğinde ikisi de aynı hesap seçimini kullanır.retrieve-binresult.successful: falsedönebilir. Bu durumdainstallmentsboş olabilir.
- PHP
- Node.js
- Python
- Java
use Gurmehub\Odemehub\Request\{RegularPayment, RetrieveBin};
$bin = $client->retrieveBin(new RetrieveBin(bin: '54003600', amount: '450.00'));
$option = $bin->installments[0]; // müşterinin seçtiği taksit
$payment = $client->regularPayment(new RegularPayment(
channelReference: 'SIP-10234',
amount: $option->total,
baseAmount: '450.00',
installmentNumber: $option->number,
ip: $_SERVER['REMOTE_ADDR'],
customer: $customer,
card: $card,
));
const bin = await client.retrieveBin({ bin: '54003600', amount: '450.00' });
const option = bin.installments[0]; // müşterinin seçtiği taksit
const payment = await client.regularPayment({
channelReference: 'SIP-10234',
amount: option.total,
baseAmount: '450.00',
installmentNumber: option.number,
ip: req.ip,
customer,
card,
});
from odemehub.request import RegularPayment, RetrieveBin
bin = client.retrieve_bin(RetrieveBin(bin="54003600", amount="450.00"))
option = bin.installments[0] # müşterinin seçtiği taksit
payment = client.regular_payment(RegularPayment(
channel_reference="SIP-10234",
amount=option.total,
base_amount="450.00",
installment_number=option.number,
ip=request.remote_addr,
customer=customer,
card=card,
))
import com.odemehub.request.RegularPayment;
import com.odemehub.request.RetrieveBin;
var bin = client.retrieveBin(RetrieveBin.builder().bin("54003600").amount("450.00").build());
var option = bin.getInstallments().get(0); // müşterinin seçtiği taksit
var payment = client.regularPayment(RegularPayment.builder()
.channelReference("SIP-10234")
.amount(option.getTotal())
.baseAmount("450.00")
.installmentNumber(option.getNumber())
.ip(request.getRemoteAddr())
.customer(customer)
.card(card)
.build());
Kur çevirisi
Çalışma alanı panelde bir para birimi için kur çevirisi kuralı tanımladıysa, o para biriminde gönderilen ödeme karttan kuralın para biriminde çekilir. İstekte değişen bir alan yoktur.
Bu durumda ödeme yanıtında ve retrieve-payment yanıtında conversion dolu döner:
"conversion": {
"amount": "4985.56",
"currency": "TRY",
"rate": "49.855560"
}
| Alan | Tip | Açıklama |
|---|---|---|
amount | string | Karttan çekilen tutar, iki ondalıklı. |
currency | string | Karttan çekilen para birimi. |
rate | string | İstekteki para biriminin bir biriminin karşılığı, altı ondalıklı. |
- Çevrilmeyen ödemede
conversionnull'dır. - İade tutarı (
refund-paymentamount)conversion.currencycinsindendir. - Ödeme hesabının desteklemesi gereken para birimi, karttan çekilecek para birimidir.
- Kur alınamadığında ödeme alınmaz:
422,transaction.currency,Güncel kur bilgisi alınamadığı için ödeme şu an alınamıyor.