Register an endpoint
morapay.webhooks.endpoints uses the **callable resource pattern: call with no arguments to list, then use attached methods for writes:
/api/v1/merchant/webhooks/endpoints.
Event types
Subscribe only to events you handle; unused events add noise and retry load.
Verify signatures
Morapay signs the raw request body with HMAC-SHA256. TheMorapay-Signature header accepts:
sha256=<hex>, or- raw hex digest
MorapayUtils.verifyWebhook on your server; it is synchronous and does not require a Morapay client instance:
Always verify against the raw body string before JSON parsing. Re-serialized JSON will fail signature checks.
Delivery best practices
- Respond 2xx quickly offload processing to a queue.
- Idempotent handlers the same event may be delivered more than once.
- Log
requestIdfrom inbound payloads when debugging with support.
FAQ
How do I rotate a webhook secret?
How do I rotate a webhook secret?
Create a new endpoint or use
revealSecret if your dashboard flow supports rotation, update your server env, then delete the old endpoint.What IP addresses do webhooks come from?
What IP addresses do webhooks come from?
Contact support for the current egress allowlist if your firewall requires it.

