WEBHOOK
Webhook Transaksi
Anesa Store dapat mengirim pembaruan status transaksi ke webhook developer ketika status order berubah.
POST
https://yourdomain.com/01
DELIVERY
Cara webhook dikirim
Webhook dikirim menggunakan HTTP POST dengan JSON body.
URL webhook harus berupa HTTPS URL yang valid.
Request membawa signature dan timestamp dari Anesa Store.
Secret webhook digunakan untuk membuat HMAC-SHA256.
endpoint harus membalas HTTP 2xx; response di luar 2xx akan dianggap gagal dan delivery akan dicoba kembali.
02
HEADERS
Header webhook
Header yang dikirim bersama payload webhook.
HeaderDeskripsi
Content-Typeapplication/jsonX-Anesa-Signaturesha256=<HMAC-SHA256(timestamp + "." + payload)>X-Anesa-TimestampUnix timestamp ketika webhook dikirim.X-Anesa-Delivery-IDID unik delivery webhook.User-AgentAnesa-Store-Webhook/103
PAYLOAD
Contoh payload
Payload hanya berisi data yang diperlukan untuk mengenali dan memproses perubahan status transaksi.
application/jsonjson
{
"event": "transaction.updated",
"data": {
"ref_id": "REF-PREPAID-001",
"order_number": "ORDER_NUMBER",
"status": "success",
"anesa_sku_code": "SKU_ANESA",
"customer_no": "081234567890",
"selling_price": 10000,
"transaction_type": "prepaid",
"updated_at": "2026-10-07T02:30:00Z",
"sn": "SERIAL_NUMBER"
}
}04
SIGNATURE
Verifikasi webhook
Signature dihitung dari timestamp, titik, lalu raw JSON payload menggunakan webhook secret.
MESSAGE
timestamp + "." + raw_payloadHMAC-SHA256
HMAC-SHA256(message, WEBHOOK_SECRET)Verifikasi menggunakan raw request body sebelum JSON diparse atau diformat ulang.
Delivery dianggap berhasil jika endpoint developer merespons status HTTP 2xx (200–299).
Simpan
X-Anesa-Delivery-ID dan gunakan sebagai kunci idempotensi agar webhook yang sama tidak diproses dua kali.