Ana içeriğe geç

regular-payment

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

3D Secure adımı olmadan karttan çekim yapar. Yanıt ödemenin sonucudur: result.successful: true ödemenin başarıyla tamamlandığını gösterir. Ödeme hesabının sağlayıcısının bu ödeme türünü desteklemesi gerekir. Akış: Regular Ödeme rehberi.

Kimlik doğrulama​

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

İstek​

secure-payment ile aynıdır; tek fark transaction.callback_url alanının olmamasıdır.

{
"transaction": {
"channel_token": "6f1c2e7a-4b3d-4c8e-9a61-2f5d7b0c3e14",
"channel_reference": "SIP-10231",
"amount": "450.00",
"installment_number": 1,
"ip": "85.105.10.20"
},
"customer": {
"channel_reference": "musteri-88",
"firstname": "Ahmet",
"lastname": "Yılmaz",
"email": "[email protected]",
"phone": "05551112233",
"address": "Kızılırmak Mah. Dumlupınar Blv. No:3",
"district": "Çankaya",
"province": "Ankara",
"country": "Türkiye"
},
"card": {
"holder_name": "AHMET YILMAZ",
"number": "5400360000000003",
"security_code": "000",
"expiry_month": "12",
"expiry_year": "2030"
}
}

Alan tabloları: transaction, customer, card.

SDK örnekleri​

use Gurmehub\Odemehub\Request\{Card, Customer, RegularPayment};

$payment = $client->regularPayment(new RegularPayment(
channelReference: 'SIP-10231',
amount: '450.00',
installmentNumber: 1,
ip: $_SERVER['REMOTE_ADDR'],
customer: $customer, // Customer nesnesi, bkz. secure-payment
card: new Card(
holderName: 'AHMET YILMAZ',
number: '5400360000000003',
securityCode: '000',
expiryMonth: '12',
expiryYear: '2030',
),
));

if ($payment->result->successful) {
// $payment->transactionToken
} else {
// $payment->result->message
}

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
}
AlanTipAçıklama
result.successfulbooleantrue: ödeme başarıyla tamamlandı. false: ödeme alınamadı.
result.messagestring | nullsuccessful false ise nedeni.
transaction.tokenstringÖdemenin token'ı. İade, iptal ve sorguda kullanılır.
transaction.channel_tokenstringÖdemenin kanalı.
transaction.channel_referencestringGönderdiğiniz 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 card.should_save: true gönderildiyse bulunur. Ödeme başarılı ve kart saklandıysa kart nesnesi, değilse null.

HTTP durum kodları​

KodDurum
200İstek 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​

secure-payment hataları geçerlidir. transaction.payment_provider_token alanındaki destek mesajı bu uç için Bu ödeme hesabı Güvenlik Doğrulamasız ödeme desteklemiyor. şeklindedir.