Webhooks
Transfer Status Update
POST {your-webhook-url}
HitchPay sends this payload when a global transfer succeeds or fails.
Headers
| Header | Description |
|---|---|
x-hitchpay-signature |
HMAC SHA256 signature — verify before processing |
Payload — Transfer Succeeded
{
"event": "crossborder.transfer.success",
"data": {
"reference": "HTCB13BE4DAC468B",
"external_reference": "REF_BANK_001",
"status": "successful",
"amount_sent": 100,
"source_currency": "USD",
"estimated_amount_received": 12873.28,
"destination_currency": "KES",
"beneficiary": {
"account_name": "Jane Doe",
"country_code": "KE",
"account_type": "bank"
},
"failure_reason": null
},
"sent_at": "2026-03-16T01:00:00.000Z"
}Payload — Transfer Failed
{
"event": "crossborder.transfer.failed",
"data": {
"reference": "HTCB13BE4DAC468B",
"external_reference": "REF_BANK_001",
"status": "failed",
"amount_sent": 100,
"source_currency": "USD",
"destination_currency": "KES",
"beneficiary": {
"account_name": "Jane Doe",
"country_code": "KE",
"account_type": "bank"
},
"failure_reason": "Invalid account number"
},
"sent_at": "2026-03-16T01:05:00.000Z"
}Expected Response
{ "status": "ok" }See Webhook Overview for signature verification and deduplication guidance.
Questions? Email [email protected]. Also on GitBook.