event field in the JSON body to route each payload to the correct handler.
Money In — transaction_notif_url
SingaPay delivers these money-in events to the same transaction_notif_url:
event value | Webhook documentation |
|---|---|
va-transaction | Virtual Account Transaction |
qris-acquirer-transaction | QRIS Acquirer Transaction |
payment-link-transaction | Payment Link Transaction |
ewallet-native-transaction | E-Wallet Native Transaction |
Subscription Cycle uses a dedicated
subscription_cycle_notif_url, not transaction_notif_url.Routing example
PHP
Money Out — disbursement_notif_url
SingaPay delivers these money-out events to the same disbursement_notif_url:
event value | Webhook documentation |
|---|---|
disbursement | Disbursement Transaction |
ewallet-topup | E-Wallet Top Up Transaction |
qris-issuer | QRIS Issuer Transaction |
data.bank, data.ewallet, or data.qr_data when present.
Routing example
PHP
Dedicated URLs (not shared)
| Dashboard field | Used for |
|---|---|
subscription_cycle_notif_url | Subscription Cycle |
payment_link_inquiry_notif_url | Payment Link Inquiry |
product_expiration_notif_url | Product Expiration |
transaction_expiration_notif_url | Transaction Money-In Expiration |
