How to debug a payment that didn't verify
Club Admin / Parent · Bahasa Melayu below
Sometimes a parent pays but the invoice stays unpaid. Common causes and fixes:
Parent-side troubleshoot
- Check email — does the gateway (ToyyibPay / Billplz / Stripe) confirm the payment?
- Check bank statement — did the money actually leave your account?
- If no: the transaction failed at the gateway. Retry.
- If yes but invoice still unpaid: something went wrong between the gateway and AAU Club Manager. Move to admin steps.
Admin: find the transaction in the gateway
- Log into ToyyibPay / Billplz / Stripe dashboard
- Search for the parent's email or the invoice number
- Note the transaction status: - Success + Callback OK — AAU Club Manager should have updated. See "AAU Club Manager didn't process" below. - Success + No callback — the webhook failed. Manually record + verify in AAU Club Manager. - Failed — parent needs to retry - Pending — wait; some FPX transactions take up to 24h
Manually record a gateway payment
If the gateway shows success but AAU Club Manager still shows unpaid:
- Sidebar → Billing → Invoices → open the invoice
- Record Payment → fill in amount, method =
Online Gateway, reference = the gateway transaction ID - Save
- Immediately click Verify on the payment row
Invoice status flips to Paid.
Check webhook logs
Admin can verify AAU Club Manager is receiving webhooks:
- Server logs — search for [Billplz Webhook], [ToyyibPay Webhook], or [Stripe Webhook]
- If the gateway confirms sending but logs show nothing: AAU Club Manager's webhook URL may be wrong or blocked. Reconfigure in gateway dashboard.
Common webhook errors seen in logs
Bad Request: /billing/webhook/billplz/— gateway sent a request without invoice IDs (usually a test call)401 Failed to fetch bill— API credentials are wrong; re-check keys in Club Settings → Billing → Payment methodsDuplicate payment recorded— the same transaction fired twice; safe to ignore
Parent paid twice
If the parent paid the same invoice twice by mistake: - Cancel one payment → open Payments → find the duplicate → Delete - Refund from the gateway dashboard + record refund in AAU Club Manager (see Cancel or refund an invoice)
Cara debug bayaran tak diverify
Ibu bapa
- Semak email gateway — pembayaran berjaya?
- Semak statement bank — duit keluar?
- Tidak keluar = gagal; cuba lagi
- Keluar tapi invois masih belum bayar = admin action
Admin: cari dalam gateway
- Login dashboard ToyyibPay / Billplz / Stripe
- Cari transaksi dengan email / no. invois
- Success + callback OK → AAU Club Manager harusnya update
- Success + tiada callback → webhook gagal; rekod manual
- Failed → parent retry
- Pending → tunggu (FPX boleh sampai 24 jam)
Rekod manual
- Billing → Invoices → buka
- Record Payment — method
Online Gateway, reference = transaction ID - Save → Verify
Semak webhook log
Server log: cari [Billplz Webhook], [ToyyibPay Webhook], [Stripe Webhook].
Error webhook biasa
Bad Request— gateway hantar tanpa invoice ID (test call)401 Failed to fetch bill— kredensial API salahDuplicate payment recorded— dua kali fire; abaikan
Ibu bapa bayar dua kali
Padam bayaran duplikat → refund dari gateway + rekod dalam AAU Club Manager.