cancel-payment
POST /api/{team}/gateway/cancel-payment
Başarılı bir ödemenin tamamını iptal eder. Tutar gönderilmez; iptal her zaman ödemenin tamamını kapsar. Kısmi geri ödeme için refund-payment. İade 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"
}
}
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
transaction.token | string (UUID) | evet | İptal edilecek ödemenin token'ı. |
SDK örnekleri
- PHP
- Node.js
- Python
- Java
- cURL
use Gurmehub\Odemehub\Request\CancelPayment;
$cancel = $client->cancelPayment(new CancelPayment(transactionToken: $transactionToken));
if ($cancel->result->successful) {
// $cancel->amount iptal edilen tutar
}
const cancel = await client.cancelPayment({ transactionToken });
if (cancel.result.successful) {
// cancel.amount iptal edilen tutar
}
from odemehub.request import CancelPayment
cancel = client.cancel_payment(CancelPayment(transaction_token=transaction_token))
if cancel.result.successful:
... # cancel.amount iptal edilen tutar
import com.odemehub.request.CancelPayment;
var cancel = client.cancelPayment(new CancelPayment(transactionToken));
if (cancel.getResult().isSuccessful()) {
// cancel.getAmount() iptal edilen tutar
}
BODY='{"transaction":{"token":"0b8f6c2d-3e41-4a7b-9c5d-1e2f3a4b5c6d"}}'
SIGNATURE=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$ODEMEHUB_API_SECRET" | sed 's/^.* //')
curl -X POST "https://odeme.gurmehub.com/api/$ODEMEHUB_TEAM/gateway/cancel-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": "cancel",
"amount": "450.00"
}
}
Alanlar refund-payment ile aynıdır; refund.type her zaman cancel, refund.amount ödemenin tutarıdır.
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 iptal 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. |
transaction.token | İptal edilmiş bir ödemeden iade yapılamaz. | Ödeme zaten iptal edilmiş. |
transaction.token | Kısmen iade edilmiş bir ödeme iptal edilemez, kalan tutar iade edilebilir. | Ödemeden daha önce iade yapılmış. |
transaction.token | Bu ödemenin iade edilebilir tutarı kalmadı. | |
transaction.token | Bu ödeme hesabı İptal işlemini desteklemiyor. | Ödemenin hesabının sağlayıcısı iptali desteklemiyor. |