- Home
- Webhooks
- Event reference
Event reference
Every event type Baiyar can send, when it is sent and its scope.
| Event | When | Scope |
|---|---|---|
payment.created |
A payment was created (API, dashboard or checkout). | project |
payment.succeeded |
The payment was paid. late: true when it was paid after it had failed or expired. |
project |
payment.failed |
The payment failed after its last allowed attempt, or was cancelled. | project |
payment.expired |
The payment expired unpaid. | project |
payment.settled |
The provider settled the payment; the money moved to your available balance. | project |
payment.unsettled |
A settlement was taken back by operations: the money moved from your available balance back to pending and the payment waits to settle again (it is held until operations lift the hold). data.object.settlement_status is awaiting again. |
project |
payment.reversed |
A paid payment was taken back: the provider reversed it (for example Singapay refunded the settled transaction from the balance) or Baiyar operations did. The payment stays paid; data.object.reversal holds the amount and reversed_at. Your balance is reduced by what you received for it and can end below zero. Baiyar refunds nobody; the payer is a matter between you and them. |
project |
payment.reversal_cancelled |
The provider cancelled its reversal: data.object.reversal is null again and the money is back in your balance. |
project |
payment.anomaly |
Something about a payment did not add up (amount mismatch, paid twice, settlement mismatch). A warning: no action is required. data.object.anomaly holds code and detail. |
project |
payment.attempt.created |
A new attempt started, for example the payer chose another method at checkout. | project |
payment.attempt.failed |
One attempt failed or expired but the payment can still be paid another way. | project |
payment_link.created |
A payment link was created. | project |
payment_link.cancelled |
The link was cancelled. | project |
payment_link.expired |
The link ran past its expiry time, without having been paid. | project |
payment_link.completed |
A single-use link was paid, or a link used up its max_uses. |
project |
payment_link.limit_reached |
The daily limit of your account level closed a payment method of the link for the rest of the day (sent once per link per day, Jakarta time). data.object.limit.methods lists them. |
project |
invoice.issued |
An invoice was issued: its pay link exists and, in live, the customer was mailed. | project |
invoice.paid |
An invoice was paid in full. | project |
invoice.voided |
An issued invoice was taken back. | project |
project.created |
A project was created. | project |
project.updated |
A project was changed; data.previous_attributes holds the old values. |
project |
project.activated |
A project was switched on. | project |
project.deactivated |
A project was switched off, by you or by operations. | project |
project.payment_methods_changed |
The payment methods of a project were changed. | project |
project.live_requested |
A project was sent for review to go live. | project |
project.live_approved |
A project was approved for live. | project |
project.live_revision_requested |
Review asked for changes before the project can go live (or took an approval back). | project |
api_key.created |
An API key was created. A merchant key reaches merchant endpoints only. The secret is never sent. | project / account |
api_key.rotated |
A key was rotated; replaced_key_id and previous_key_valid_until are in the object. |
project / account |
api_key.revoked |
A key was revoked. | project / account |
webhook_endpoint.created |
An endpoint was registered. | account (merchant endpoints) |
webhook_endpoint.updated |
An endpoint was changed; data.previous_attributes holds the old values. |
account (merchant endpoints) |
webhook_endpoint.deleted |
An endpoint was deleted. | account (merchant endpoints) |
webhook_endpoint.secret_rotated |
An endpoint’s signing secret was replaced (the secret is never sent). | account (merchant endpoints) |
webhook_endpoint.disabled |
An endpoint was switched off after repeated failures. | account (merchant endpoints) |
webhook.test |
Sent when you press Test on an endpoint. | the endpoint |
Payment events carry a payment object. payment_link.* events carry a payment link object and its url; invoice.* events
carry an invoice and its url. The invoice status is open, paid or void, depending on the event. The
webhook_endpoint.disabled object contains { id, scope, project_id, url, status, disabled_reason, consecutive_failures }.
Webhooks do not report changes to verification, account level, business information, bank accounts, capabilities or balance.
Those updates appear in email and the dashboard. Subscribe to payment.settled to track payment settlement.