Event catalogue
Every event that Merxian can send to your webhook endpoint. Each event page shows the cause, the payload, and an example.
On this page
Every event has the same envelope. The resource is indata.object, in the shape of its group. Subscribe to only the events that you use.
Checkout events#
Payload: the checkout_session object. Concept: Checkout sessions.
| Event | Merxian sends it when |
|---|---|
| checkout.created | You created a checkout session, or a buyer opened a payment link. |
| checkout.completed | The payment of the session succeeded. This can happen after the session expiry time. |
| checkout.expired | The session reached its expiry time, you expired it, or the buyer cancelled on the hosted page. |
Transaction events#
Payload: the transaction object. Concept: Transactions.
| Event | Merxian sends it when |
|---|---|
| transaction.created | You created a transaction, or a checkout session or payment link created one. |
| transaction.ready | The transaction moved from draft to ready. Its amounts are now frozen. |
| transaction.processing | A payment of the transaction was created or is being processed. |
| transaction.completed | Payments collected the full amount that the transaction requires. |
| transaction.canceled | You canceled the transaction, or a checkout session ended and canceled the draft that it created. |
| transaction.past_due | A ready or processing transaction reached its dueAt time and was not fully paid. |
| transaction.partially_refunded | A refund succeeded and money is still collected on the transaction. |
| transaction.refunded | Refunds returned all collected money. |
| transaction.adjusted | You added an adjustment, or Merxian recorded one, for example for a chargeback. |
Payment events#
Payload: the payment object. Concept: Payments.
| Event | Merxian sends it when |
|---|---|
| payment.created | A checkout session or your call to Create a payment created a payment. |
| payment.processing | Merxian sent the payment for processing and waits for the result. |
| payment.succeeded | The payment was authorized and captured. Capture is automatic. |
| payment.failed | The payment was refused or could not be completed. |
| payment.canceled | You canceled the payment, or a checkout session ended while the payment was open. |
| payment.expired | The payer did not complete the payment in time. |
Refund events#
Payload: the refund object. Concept: Refunds.
| Event | Merxian sends it when |
|---|---|
| refund.succeeded | The refunded money was sent back to the payer. |
| refund.failed | The refund could not be completed. |
| refund.reversed | A refund was returned after it succeeded, so the money came back to your balance. |
Dispute events#
Payload: the payment object. Concept: Disputes.
| Event | Merxian sends it when |
|---|---|
| dispute.opened | The payer's bank opened a dispute, such as a chargeback, on a payment. |
Invoice events#
Payload: the invoice object. Concept: Invoices.
| Event | Merxian sends it when |
|---|---|
| invoice.issued | A paid transaction on a merchant of record account received its invoice. |
| invoice.credited | A refund or a correction reduced an invoiced amount. |
Customer events#
Payload: the customer object. Concept: Customers.
| Event | Merxian sends it when |
|---|---|
| customer.createdOpt-in | A customer was added to your account. |
| customer.updatedOpt-in | A field of a customer changed. |
State values in payloads
Webhook payloads use snake_case field names. Some state values in payloads differ from the values of the API. Compare them with this table.
| Resource | API value | Webhook value |
|---|---|---|
| Transaction | draft, ready, … (lower case) | DRAFT, READY, … (upper case) |
| Payment | cancelled | canceled |
| Refund | refunded | succeeded |
| Checkout session | complete | completed |