Pengiriman & retry
Notifikasi yang cocok disimpan lebih dulu ke database Room, lalu QRIS Hook langsung mencoba mengirimnya dari coroutine latar belakang. WebhookDeliveryWorker adalah jalur retry/fallback.
NotificationProcessormembaca pengaturan.- Jika
QRIS Hook Activemati, notifikasi diabaikan. - Jika
Debug Modenyala, payload mentah disimpan dan webhook dilewati. - Pada mode normal, notifikasi dicocokkan dengan parser merchant terpilih.
- Setiap event valid dimasukkan antrean dengan status
Pending. - Event ditandai
Sendingdan dikirim sebagaiPOSTJSON. - Respons 2xx →
Sent. Gagal →Faileddan worker retry dijadwalkan.
Status
Section titled “Status”| Status | Arti |
|---|---|
Pending |
Sudah masuk antrean, menunggu pengiriman. |
Sending |
Sedang dicoba dikirim. |
Sent |
Webhook membalas 2xx. |
Failed |
Percobaan terakhir gagal; masih akan di-retry. |
- Worker memproses event non-
Sentdari yang terlama, maksimal 10 per batch. - Respons non-2xx, error jaringan, URL tidak valid, timeout, dan error network security dicatat sebagai kegagalan (
lastError,lastResponseCode,attempts, dll). - WorkManager mengulang dengan exponential backoff mulai 30 detik.
- Belum ada batas maksimum retry; event gagal tetap di antrean sampai terkirim atau data aplikasi dihapus.