Webhooks

Set up an endpoint

Create a webhook destination, select events, and confirm the first delivery.

Prepare a receiver at a public HTTPS URL and a secret store. For a local application, first follow local development.

Create the endpoint

Open webhook settings

Open Settings → Webhooks in the dashboard for the intended merchant and environment. Choose Add Endpoint. The wizard has Endpoint, Events, Security, and Confirm steps.

Enter the receiver URL

Use the final HTTPS route, such as https://your-app.example/webhooks/revkeen. It must accept POST requests without a browser sign-in screen. Keep webhook signature verification enabled; it is separate from browser session authentication.

Select events

Choose the events needed for the workflow. Start with invoice.paid for invoice fulfilment or payment.succeeded for payment reconciliation. Review the catalogue.

Store the signing secret

Complete Security and Confirm. Save the returned signing secret as REVKEEN_WEBHOOK_SECRET in your receiver's secret store. This endpoint secret is separate from your Better Auth merchant API key. Keep both server-side.

Verify a delivery

Use the endpoint's test action, then inspect Deliveries and your receiver logs. A test proves delivery and signature handling; it does not prove a real payment lifecycle. Verify the intended staging workflow separately with the appropriate provider configuration.

API setup

Use the Webhook Endpoints reference for request fields and response schemas. Store the returned signing secret before leaving setup.

Rotate without assuming an overlap window

The current rotation operation replaces the stored secret; it does not advertise an old/new secret grace period. For a coordinated transition:

  1. Create a replacement endpoint and store its separate secret.
  2. Configure your receiver to verify the appropriate endpoint secret and deduplicate shared events.
  3. Verify delivery through the replacement.
  4. Disable the old endpoint, account for in-flight deliveries, then retire its secret.

Two enabled endpoints can deliver the same event. For in-place rotation, coordinate the receiver update and inspect/retry any failed deliveries during the transition.

Continue with receiving events.

On this page