Declined
Genel Bakış
/v1/notify/declined webhook'u, beneficiary KVHS'nin işlemi DECLINED durumuna aldığını originator tarafına bildirir. Bu bildirim hem MAIN hem de BASIC protokollerinde geçerlidir ve gerekçeyle birlikte gönderilir.
Tetiklenme Koşulları
- Beneficiary KVHS
/v1/transactions/declineçağrısını tamamladı. - İşlem durumu
DECLINEDolarak güncellendi. - Originator KVHS, kullanıcıyı bilgilendirmek veya alternatif iş akışlarını tetiklemek zorundadır.
Webhook Endpoint
POST /v1/notify/declined
Payload
{
"transactionRef": "6f61b14a-60ec-4569-8ba9-b675dae62159",
"protocol": "MAIN",
"status": "DECLINED",
"originatorVASPdid": "did:web:originator.example",
"beneficiaryVASPdid": "did:web:beneficiary.example",
"reason": {
"category": "COMPLIANCE_CHECK_FAILED",
"description": "Beneficiary does not meet compliance requirements"
}
}
Alanlar
| Alan | Açıklama |
|---|---|
transactionRef | ClearTX referansı. |
protocol | MAIN veya BASIC. |
status | DECLINED. |
originatorVASPdid | Originator KVHS DID. |
beneficiaryVASPdid | Beneficiary KVHS DID. |
reason.category | Önceden tanımlı ret kategorisi (COMPLIANCE_CHECK_FAILED, SANCTIONS_MATCH vb.). |
reason.description | Ret gerekçesinin serbest metin açıklaması. |
Bu Webhook Ne Zaman Tetiklenir
Bu webhook aşağıdaki durumlarda tetiklenir:
- Transaction bildirimi, alıcı KVHS tarafından reddedildiğinde
- Reddetme, compliance doğrulama süreci sırasında gerçekleştiğinde
- Originator KVHS'ın reddetmeden haberdar edilmesi gerektiğinde
Yanıt Gereksinimleri
- 200 OK: Ret bilgisi kaydedildi.
- >=400: ClearTX yeniden denemeye devam eder.
Örnek Sunucu
const express = require("express");
const app = express();
const rawJson = express.raw({ type: "application/json" });
app.post("/webhook/declined", rawJson, (req, res) => {
verifySignature(req);
const event = JSON.parse(req.body.toString());
logDecline(event.transactionRef, event.reason);
res.status(200).json({ status: "received" });
});