Skip to main content
GrailPay provides a single endpoint to both register and de-register webhook URLs for event subscriptions. This endpoint allows you to manage your webhook configurations efficiently and programmatically. By using different request payloads, you can either subscribe a new URL to specific events or remove an existing one from receiving notifications. Webhook registrations are scoped to the API token you use, and each token is allowed a maximum of 10 unique webhook URLs. If you exceed this limit or attempt to register a duplicate, the request will result in an error. Webhook events are delivered via HTTPS POST requests, and all configured URLs must be secured over HTTPS. For a list of all possible event names you can subscribe to, please refer to the Webhook Events documentation.
This route is secured with processor and vendor token authentication.
Our webhooks are not specific to any particular entity in our ACH Application. So for example, you would not want to register an individual webhook for every merchant that you onboard. Each of those webhooks urls will get the same data each time an event is triggered. The approach we recommend is to register a single webhook url to the events you wish to subscribe to. Then you can use the event data to determine which entity the event is related to.
If our application detects consistent errors from any registered webhook url, we will automatically deregister that webhook url.

Registering a Webhook

To register a webhook URL for a specific event, submit a POST request to the /v3/webhooks/register endpoint with the desired event_name and webhook_url. Once registered, GrailPay will begin delivering event payloads to the specified URL. If the URL is successfully registered, you’ll receive a 200 response confirming the subscription. For full schema details, refer to:

De-Registering a Webhook

To de-register an existing webhook, send a DELETE request to the /v3/webhooks/register endpoint using the same event_name and webhook_url that were originally registered. If a matching subscription is found, it will be removed, and no further webhook events will be delivered to that URL. For full schema details, refer to:

Fetch All Webhook Events

This endpoint allows you to retrieve a list of all webhook event types currently supported by the GrailPay API. Each event in the list corresponds to a specific system action—such as a transaction starting, a refund being completed, or a payout failing—that can trigger a webhook notification when subscribed to. This endpoint is useful for dynamically discovering the available webhook events your integration can subscribe to, especially when building tools for configuration, administration, or reporting. You can use the returned list to ensure your system is aware of the full range of webhook triggers available for monitoring and automation. For full request and response details, see the OpenAPI Documentation.

Testing

At this time, GrailPay does not support direct simulation of webhook events in the Sandbox environment. However, you can test your webhook integration by registering a webhook URL in Sandbox and performing actions that naturally trigger webhook events. This approach allows you to validate that your endpoint receives and processes real webhook payloads as expected. For more details on testing in Sandbox, refer to our Technical Overview guide.

Questions?

If you’re encountering any issues, please reach out to [email protected].
I