Skip to main content
A webhook automatically notifies your system about a completed payment. Configuration has two steps: register a webhook, then assign it to a product. From then on, events (e.g. successful payment) for that product are sent to your endpoint. All requests are authorized with an API key sent in the X-API-KEY header.
Examples use the sandbox environment: https://gateway-api.sandbox.paymove.io. You need your partnerId and the productId of a product created in the DocPay: basic integration tutorial.

Step 1: Register webhook

Response (200):
The id field in the response is the webhook identifier (webhookId), which you will use in step 2.
The response contains a signingSecret - a secret for verifying the signature of requests coming from Paymove. Store it securely in your system and do not expose it publicly.

Step 2: Assign webhook to product

The webhook only becomes active after linking it to a product. Replace webhookId (from step 1) and productId in the URL.
Response (200): the webhook object (same as in step 1), confirming the link. From then on, payment events for this product are sent to your endpoint.

Verify the configuration

You can check the products linked to a webhook with:
Response (200): an array of products linked to the webhook:

How does Paymove call your endpoint?

After a completed payment, Paymove sends a request to your endpoint following requestTemplate and the configured headers. Your system should respond with expectedCode and expectedResponse (e.g. 200 and { "status": "ok" }). On failure, Paymove retries as many times as set in retries.

What’s next?

REST API

Full webhook endpoint reference: list, details, update.