Regular Ödeme
regular-payment tek istekte çekim yapar; yönlendirme ve dönüş adımı yoktur. Yanıttaki result.successful ödemenin sonucudur.
Ön koşul
Ödemenin geçeceği hesabın sağlayıcısı bu ödeme türünü desteklemelidir. Desteklemiyorsa istek 422 ile transaction.payment_provider_token alanında reddedilir: Bu ödeme hesabı Güvenlik Doğrulamasız ödeme desteklemiyor.
Çekim
- PHP
- Node.js
- Python
- Java
use Gurmehub\Odemehub\Request\RegularPayment;
$payment = $client->regularPayment(new RegularPayment(
channelReference: 'SIP-10231',
amount: '450.00',
installmentNumber: 1,
ip: $_SERVER['REMOTE_ADDR'],
customer: $customer,
card: $card,
));
if ($payment->result->successful) {
// ödendi; $payment->transactionToken iade/iptal için saklanır
} else {
// ödeme alınamadı; $payment->result->message
}
const payment = await client.regularPayment({
channelReference: 'SIP-10231',
amount: '450.00',
installmentNumber: 1,
ip: req.ip,
customer,
card,
});
if (payment.result.successful) {
// ödendi; payment.transactionToken iade/iptal için saklanır
} else {
// ödeme alınamadı; payment.result.message
}
from odemehub.request import RegularPayment
payment = client.regular_payment(RegularPayment(
channel_reference="SIP-10231",
amount="450.00",
installment_number=1,
ip=request.remote_addr,
customer=customer,
card=card,
))
if payment.result.successful:
... # ödendi; payment.transaction_token iade/iptal için saklanır
else:
... # ödeme alınamadı; payment.result.message
import com.odemehub.request.RegularPayment;
var payment = client.regularPayment(RegularPayment.builder()
.channelReference("SIP-10231")
.amount("450.00")
.installmentNumber(1)
.ip(request.getRemoteAddr())
.customer(customer)
.card(card)
.build());
if (payment.getResult().isSuccessful()) {
// ödendi; payment.getTransactionToken() iade/iptal için saklanır
} else {
// ödeme alınamadı; payment.getResult().getMessage()
}
customer ve card nesnelerinin tam hâli: secure-payment.
Sonucu okumak
| Yanıt | Anlamı |
|---|---|
200, result.successful: true | Ödeme alındı. |
200, result.successful: false | Ödeme alınamadı; neden result.message. SDK'lar istisna atmaz. |
422 | İstek doğrulamadan geçmedi; ödeme denenmedi. |
401 / 403 | İstek işlenmedi. |
| Yanıt alınamadı | Sonuç bilinmiyor. Bkz. Ağ hataları. |
Kart saklama (card.should_save), kayıtlı kartla ödeme (transaction.saved_card_token), taksit (installment_number, base_amount) ve kur çevirisi secure-payment ile aynı şekilde çalışır. Kart saklandıysa kart nesnesi bu yanıtın saved_card alanında döner.