Skip to main content
Some webhook types share a single callback URL configured in your merchant dashboard. Use the top-level 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:
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: You can also distinguish payloads using nested fields such as data.bank, data.ewallet, or data.qr_data when present.

Routing example

PHP

Dedicated URLs (not shared)

Validate and acknowledge all webhooks using Security and signature validation.