Documentation Index
Fetch the complete documentation index at: https://docs.nexapay.ng/llms.txt
Use this file to discover all available pages before exploring further.
Webhooks
NexaPay sends signed outbound webhooks to the merchantwebhookUrl whenever merchant account events complete.
How Signing Works
- NexaPay signs each webhook payload with the merchant’s
webhookSecret - Merchants verify the signature before trusting the payload
- Signature verification should happen in your backend, not in browser code
Headers
NexaPay includes headers similar to:x-nexapay-signaturex-nexapay-timestampx-nexapay-eventx-nexapay-event-idx-nexapay-business-id
Signature Scheme
The signature is computed over the raw body plus timestamp using HMAC SHA-256.Webhook Events
deposit.received
Sent when money is credited to a merchant virtual account or business account.
withdrawal.completed
Sent when a merchant withdrawal settles successfully.
withdrawal.failed
Sent when a merchant withdrawal does not complete.
Merchant Webhook Secret
NexaPay exposes the merchant webhook secret from the dashboard for authenticated users.Reveal Secret
GET /business/webhook-secret
Returns the current webhook secret so the merchant can verify signatures.
Regenerate Secret
POST /business/webhook-secret/regenerate
Rotates the secret and returns the new value. Merchants should update their backend immediately after regenerating.
Delivery Rules
- Webhooks are sent after the relevant transaction is committed.
- Delivery is best-effort with retries.
- Merchants should deduplicate using
eventId. - Merchants should verify the signature before processing the payload.