Skip to main content

Webhooks

ONVO uses webhooks to notify your application when a result is produced while processing a payment intent, subscription, checkout session, or incoming transfer.

To receive them, configure a callback URL in your ONVO account. ONVO sends a POST request to that URL whenever a supported event is processed. The payload includes a type attribute that identifies the event and a data object with the related information.

  1. Expose an HTTPS endpoint.
  2. Register the endpoint in the ONVO Dashboard under developers.
  3. Verify the event origin with the webhook secret.
  4. Process the event idempotently.
  5. Respond with a 2xx status when processing succeeds.

Supported events

EventWhen it happens
payment-intent.succeededA payment intent is processed successfully.
payment-intent.failedA payment intent fails.
payment-intent.deferredA payment intent is waiting for approval, for example in a SINPE flow.
subscription.renewal.succeededA subscription renews successfully.
subscription.renewal.failedA subscription renewal fails.
checkout-session.succeededA checkout session is processed successfully.
mobile-transfer.receivedAn incoming transfer is received on a custom SINPE Movil number.

mobile-transfer.received is an additional notification for merchants with this capability enabled. It does not represent a successful payment by itself and is not sent by default. Contact support to enable it.

Security

Each webhook has an assigned secret. You can view it in the ONVO Dashboard next to the webhook configuration.

ONVO includes that value in the X-Webhook-Secret header. The backend generates secrets with the webhook_secret_ prefix. Use it to verify that the request comes from ONVO before processing the event.

X-Webhook-Secret: webhook_secret_...

Responses and errors

When an event represents an error, the payload object can include an error attribute. That object can contain:

FieldDescription
messageHuman-readable error description.
codeError code, when available.
typeError type, when available.

Your endpoint should respond with a 2xx status only when the event was received and processed correctly. If you respond with another status, ONVO may retry the delivery.

Your system should tolerate retries and events received out of order.