Skip to Content
Event Types

Event Types

We support multiple webhook events to the same URL that you provide for the ease of your integration.

Therefore, we send the type of the event in our header x-beam-event with the value being the event name.

Currently, the following events are supported:

EventSent when
charge.succeededA charge has been successfully processed.
charge.failedA charge has failed.
payment_link.paidA payment link has been paid for.
card_authorization.authorizedA card authorization has been authorized.
card_authorization.failedA card authorization has failed.
card_authorization.canceledA card authorization has been canceled.
refund.succeededA refund has been successfully processed.
refund.failedA refund has failed.
bolt_intent.paidA bolt intent has been paid.
bolt_intent.canceledA bolt intent has been canceled.
bolt_intent.expiredA bolt intent has expired.
transaction.createdA transaction has been created.

The schema for each webhook we send is based on the event itself. You can expect the request payload to be the original object as you would expect from calling our GET endpoint on the resource.

For example, when a charge is successful, we trigger a callback to your registered endpoint by sending the header x-beam-event with value charge.succeeded and you can expect the schema payload to be the same as calling a GET /v1/api/charges/{chargeId}.

Webhook Request Examples

charge.succeeded

  • charge.succeeded and charge.failed webhooks (Please note that this schema is subject to change in the future, so please refer to the API Reference for the most up-to-date schema):
POST https://your-webhook-endpoint.com/webhook X-Beam-Signature: TIJ+djHBA1D4dviJ0EmFmctWf/w498Scaqjz4v0qNDU= X-Beam-Event: charge.succeeded Content-Type: application/json { "chargeId": "ch_34duZsgqHJzkZZhMOl9wVcYzjRx", "merchantId": "merchantId", "referenceId": "order#10001", "status": "SUCCEEDED", "currency": "THB", "amount": 199, "source": "PAYMENT_LINK", "sourceId": "HFF4n25LYl", "transactionTime": "2025-10-27T16:03:48.47173+07:00", "paymentMethod": { "paymentMethodType": "CARD", "card": { "last4": "1234", "brand": "VISA", "countryAlpha2": "TH" }, "cardInstallments": null, "cardNetworkToken": null, "qrPromptPay": null, "alipay": null, "weChatPay": null, "trueMoney": null, "linePay": null, "shopeePay": null, "make": null, "bangkokBankApp": null, "kPlus": null, "scbEasy": null, "krungsriApp": null, "krungthaiNext": null }, "failureCode": "", "customer": { "primaryPhone": { "countryCode": "+66", "number": "0123456789" }, "email": "", "deliveryAddress": { "contactName": "Real Name", "phone": { "countryCode": "+66", "number": "0123456789" }, "address": { "streetAddress": "140 Wireless", "city": "Bangkok", "country": "THA", "postCode": "10330" } } }, "createdAt": "2025-10-27T16:03:48.46695+07:00", "updatedAt": "2025-10-27T16:03:52.599628+07:00" }

payment_link.paid

  • payment_link.paid webhook (Please note that this schema is subject to change in the future, so please refer to the API Reference for the most up-to-date schema):
POST https://your-webhook-endpoint.com/webhook X-Beam-Signature: 7t1EBTr1RpsjbTy82Sfe/MW9EuMBPBDGfswAtNfNYtU= X-Beam-Event: payment_link.paid Content-Type: application/json { "paymentLinkId": "string", "merchantId": "string", "url": "https://pay.beamcheckout.com/merchantId/paymentLinkId", "status": "PAID", "order": { "netAmount": 3000000, "currency": "THB", "description": "Pets Shop", "referenceId": "order#10001", "internalNote": "string", "orderItems": [] }, "linkSettings": { "buyNowPayLater": { "isEnabled": true }, "card": { "isEnabled": true }, "cardInstallments": { "installments3m": { "isEnabled": true }, "installments4m": { "isEnabled": true }, "installments6m": { "isEnabled": true }, "installments10m": { "isEnabled": true } }, "qrPromptPay": { "isEnabled": true }, "eWallets": { "isEnabled": true }, "mobileBanking": { "isEnabled": true } }, "collectDeliveryAddress": false, "collectPhoneNumber": true, "redirectUrl": "https://www.beamcheckout.com", "expiresAt": "2026-06-05T04:20:04.067Z", "feeType": "TRANSACTION_FEE" }

card_authorization.authorized

  • card_authorization.authorized, card_authorization.failed and card_authorization.canceled webhooks (Please note that this schema is subject to change in the future, so please refer to the API Reference for the most up-to-date schema):
POST https://your-webhook-endpoint.com/webhook X-Beam-Signature: 7t1EBTr1RpsjbTy82Sfe/MW9EuMBPBDGfswAtNfNYtU= X-Beam-Event: card_authorization.authorized Content-Type: application/json { "cardAuthorizationId": "ca_39sVe4uemxX7fSofJDcgN3UQoLt", "merchantId": "yourmerchantid", "referenceId": "order_190821", "status": "AUTHORIZED", "supportsMulticapture": false, "currency": "THB", "amount": 100, "capturedAmount": 0, "capturableAmount": 100, "latestChargeId": "", "authorizedAt": "2026-02-19T14:07:36.182568+07:00", "expiresAt": "2026-02-26T14:07:36.180839+07:00", "paymentMethod": { "paymentMethodType": "CARD", "card": { "last4": "1111", "brand": "VISA", "countryAlpha2": "PL" }, "cardNetworkToken": null }, "failureCode": "", "createdAt": "2026-02-19T14:07:36.180839+07:00", "updatedAt": "2026-02-19T14:07:36.42328+07:00" }

refund.succeeded

  • refund.succeeded and refund.failed webhooks (Please note that this schema is subject to change in the future, so please refer to the API Reference for the most up-to-date schema):
POST https://your-webhook-endpoint.com/webhook X-Beam-Signature: TIJ+djHBA1D4dviJ0EmFmctWf/w498Scaqjz4v0qNDU= X-Beam-Event: refund.succeeded Content-Type: application/json { "refundId": "re_34duZsgqHJzkZZhMOl9wVcYzjRx", "chargeId": "ch_34duZsgqHJzkZZhMOl9wVcYzjRx", "merchantId": "merchantId", "referenceId": "order#10001", "amount": 199, "currency": "THB", "status": "SUCCEEDED", "failureCode": "", "refundReason": "Customer requested refund", "createdAt": "2025-10-27T16:03:48.46695+07:00", "updatedAt": "2025-10-27T16:03:52.599628+07:00", "transactionTime": "2025-10-27T16:03:52.599628+07:00" }

bolt_intent.paid

  • bolt_intent.paid, bolt_intent.canceled and bolt_intent.expired webhooks (Please note that this schema is subject to change in the future, so please refer to the API Reference for the most up-to-date schema):
POST https://your-webhook-endpoint.com/webhook X-Beam-Signature: TIJ+djHBA1D4dviJ0EmFmctWf/w498Scaqjz4v0qNDU= X-Beam-Event: bolt_intent.paid Content-Type: application/json { "id": "bi_34duZsgqHJzkZZhMOl9wVcYzjRx", "merchantId": "merchantId", "amount": 10000, "currency": "THB", "status": "PAID", "mode": { "type": "PAIRING", "deepLink": null }, "paymentMethod": { "paymentMethodType": "CARD", "card": { "last4": "1234", "brand": "VISA" }, "cardInstallments": null, "qrPromptPay": null, "alipay": null, "alipayPlus": null, "linePay": null, "shopeePay": null, "trueMoney": null, "weChatPay": null, "sPayLater": null }, "boltConnectionId": "bc_34duZsgqHJzkZZhMOl9wVcYzjRx", "referenceId": "order#10001", "internalNote": "", "expiresAt": "2025-10-27T17:03:48.46695+07:00", "merchant": { "merchantId": "merchantId", "name": "Merchant Name", "logoUrl": "" }, "latestChargeId": "ch_34duZsgqHJzkZZhMOl9wVcYzjRx", "latestChargeStatus": "SUCCEEDED", "latestChargeFailureCode": "", "result": "CH_SUCCEEDED", "createdAt": "2025-10-27T16:03:48.46695+07:00", "createdBy": "merchantId", "updatedAt": "2025-10-27T16:03:52.599628+07:00", "updatedBy": "merchantId" }

transaction.created

  • transaction.created webhook (Please note that this schema is subject to change in the future, so please refer to the API Reference for the most up-to-date schema):
POST https://your-webhook-endpoint.com/webhook X-Beam-Signature: TIJ+djHBA1D4dviJ0EmFmctWf/w498Scaqjz4v0qNDU= X-Beam-Event: transaction.created Content-Type: application/json { "transactionId": "ch_34duZsgqHJzkZZhMOl9wVcYzjRx", "merchantId": "merchantId", "referenceId": "order#10001", "transactionType": "PAYMENT", "chargeSource": "PAYMENT_LINK", "sourceId": "HFF4n25LYl", "currency": "THB", "grossAmount": 199, "feeAmount": 6, "vatAmount": 0, "netAmount": 193, "feeStrategy": "RATE", "createdAt": "2025-10-27T16:03:48.46695+07:00", "transactionTime": "2025-10-27T16:03:52.599628+07:00" }
Last updated on