Lompat ke konten

payment.failed

Dikirim saat sebuah payment (dari payment link atau pembayaran langsung) mencapai status akhir tanpa berhasil — failed atau expired. Keduanya dikirim sebagai tipe event yang sama.

Header Deskripsi
X-Baiyar-Signature t=<unix timestamp>,v1=<hex HMAC-SHA256> — lihat Verifikasi Signature Webhook
Content-Type application/json
{
"id": "018f1f29-a1e0-73e4-a310-744d2167fcc2",
"type": "payment.failed",
"created_at": "2026-09-02T09:20:00Z",
"data": {
"id": "018f1f29-9b21-73e4-a310-744d2167fca1",
"project_id": "018f1f29-7c00-73e4-a310-744d2167fc60",
"reference": "ORDER-2026-0002",
"amount": 15000,
"currency": "IDR",
"status": "failed"
}
}
Field Tipe Deskripsi
id string ID event unik — gunakan untuk deduplikasi pengiriman yang di-retry, bukan data.id
type string Selalu payment.failed
created_at date-time Kapan event dibuat
data.status string failed atau expired

data tidak punya field paid_at — payment tidak pernah berhasil. Panggil GET /v1/payments/{data.id} dengan API key Anda untuk detail payment selengkapnya.

Percobaan ulang setelah payment.failed menghasilkan transaksi baru dengan event id sendiri — jangan asumsikan satu reference hanya gagal sekali.

Terminal window
curl -X POST https://api.baiyar.id/sandbox/payments/{providerPaymentID}/simulate \
-H "Content-Type: application/json" \
-d '{"outcome": "failed"}'

outcome juga bisa expired, untuk menguji jalur itu secara spesifik. Lihat Simulasi Sandbox dan Menangani Pengiriman Webhook.

payment.paid — event transaksi lainnya.