refund-payment
POST /api/{team}/gateway/refund-payment
Başarılı bir ödemeden iade yapar. amount gönderilmezse ödemenin iade edilebilir kalan tutarının tamamı iade edilir. Aynı ödemeden birden fazla kısmi iade yapılabilir. İptal ile farkı: İade ve İptal.
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"
},
"amount": "100.00"
}
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
transaction.token | string (UUID) | evet | İade edilecek ödemenin token'ı. |
amount | string | hayır | İade tutarı. Sayısal, sıfırdan büyük ve iade edilebilir kalan tutardan küçük ya da eşit olmalıdır. Gönderilmezse kalanın tamamı. Kur çevirisiyle çekilmiş ödemede, karttan çekilen para birimindedir. |
SDK örnekleri
- PHP
- Node.js
- Python
- Java
- cURL
use Gurmehub\Odemehub\Request\RefundPayment;
$refund = $client->refundPayment(new RefundPayment(
transactionToken: $transactionToken,
amount: '100.00', // gönderilmezse kalanın tamamı
));
if ($refund->result->successful) {
// $refund->amount iade edilen tutar
}
const refund = await client.refundPayment({
transactionToken,
amount: '100.00', // gönderilmezse kalanın tamamı
});
if (refund.result.successful) {
// refund.amount iade edilen tutar
}
from odemehub.request import RefundPayment
refund = client.refund_payment(RefundPayment(
transaction_token=transaction_token,
amount="100.00", # gönderilmezse kalanın tamamı
))
if refund.result.successful:
... # refund.amount iade edilen tutar
import com.odemehub.request.RefundPayment;
// Tutarsız: new RefundPayment(transactionToken) — kalanın tamamı
var refund = client.refundPayment(new RefundPayment(transactionToken, "100.00"));
if (refund.getResult().isSuccessful()) {
// refund.getAmount() iade edilen tutar
}
BODY='{"transaction":{"token":"0b8f6c2d-3e41-4a7b-9c5d-1e2f3a4b5c6d"},"amount":"100.00"}'
SIGNATURE=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$ODEMEHUB_API_SECRET" | sed 's/^.* //')
curl -X POST "https://odeme.gurmehub.com/api/$ODEMEHUB_TEAM/gateway/refund-payment" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "X-Api-Key: $ODEMEHUB_API_KEY" \
-H "X-Signature: $SIGNATURE" \
--data-raw "$BODY"
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,
"refund": {
"type": "refund",
"amount": "100.00"
}
}
| Alan | Tip | Açıklama |
|---|---|---|
result.successful | boolean | true: sağlayıcı iadeyi yaptı. false: sağlayıcı iadeyi reddetti. |
result.message | string | null | successful false ise nedeni. |
transaction, customer, conversion, saved_card | object | İade edilen ödemenin bilgileri; retrieve-payment ile aynı (saved_card yalnızca ödeme card.should_save: true ile yapıldıysa bulunur). result.successful burada iadenin sonucudur. |
refund.type | string | Her zaman refund. |
refund.amount | string | İade tutarı. amount gönderilmediyse hesaplanan kalan tutar. |
HTTP durum kodları
| Kod | Durum |
|---|---|
200 | İstek işlendi; sonuç result.successful içinde. |
401 | API anahtarı ya da imza geçersiz. |
403 | Çalışma alanı işlem yapamıyor. |
422 | Doğrulama hatası ya da ödeme iade edilemiyor. Sağlayıcıya istek gönderilmedi. |
Hatalar
| Alan | Mesaj | Neden |
|---|---|---|
transaction.token | Bu işlem bulunamadı. | Token çalışma alanınıza ait bir ödemeye karşılık gelmiyor. |
transaction.token | Yalnızca başarıyla tamamlanmış bir ödeme iade edilebilir. | Ödeme başarılı değil (başarısız, süresi dolmuş ya da tamamlanmamış). |
transaction.token | İptal edilmiş bir ödemeden iade yapılamaz. | Ödeme iptal edilmiş. |
transaction.token | Bu ödemenin iade edilebilir tutarı kalmadı. | Ödemenin tamamı iade edilmiş. |
transaction.token | Bu ödeme hesabı İade işlemini desteklemiyor. | Ödemenin hesabının sağlayıcısı iadeyi desteklemiyor. |
amount | İade tutarı sıfırdan büyük olmalıdır. | |
amount | İade tutarı, ödemenin iade edilebilir tutarından büyük olamaz. |