πŸ‡¨πŸ‡΄ PSE Webhooks

Bank accounts

OBJECT_CREATED

Whenever there is a new bank account created asynchronously, you will receive the following webhook:

{
  "webhook_id": "3b9a69f7-0f0a-455b-832d-49ad6fd4905c",
  "webhook_type": "BANK_ACCOUNTS",
  "webhook_code": "OBJECT_CREATED",
  "object_id": "d2e40773-19f6-48d1-93c3-3590ec0c74df",
  "data": {}, // For OBJECT_CREATED webhooks, the data field returns an empty object.
}

Once you receive the notification, you can get details on the bank account by making the following request:

curl --request GET 'https://payments.belvo.com/api/bank-accounts/{id}/' \
  -u [Secret Key ID]:[Secret Key PASSWORD]

Where:

  • id is the object_id of the bank account (which you receive in the webhook event).

Payment intents

STATUS_UPDATE

Whenever the status of a payment intent is updated, you will receive the following webhook:

{
  "webhook_id": "3b9a69f7-0f0a-455b-832d-49ad6fd4905c",
  "webhook_type": "PAYMENT_INTENTS",
  "webhook_code": "STATUS_UPDATE",
  "object_id": "d2e40773-19f6-48d1-93c3-3590ec0c74df",
  "data": {
    "status": "succeeded" // The status of the payment intent.
  }
}
{
  "webhook_id": "3b9a69f7-0f0a-455b-832d-49ad6fd4905c",
  "webhook_type": "PAYMENT_INTENTS",
  "webhook_code": "STATUS_UPDATE",
  "object_id": "d2e40773-19f6-48d1-93c3-3590ec0c74df",
  "data": {
    "status": "failed", // The status of the payment intent.
    "failure_code": "beneficiary_not_registered", // A unique code for the error.
    "failure_message": "There was an unexpected error. Please contact support." // Human-readable description of the error.
  }
}

Once you receive the notification, you can get details on the payment intent by making the following request:

curl --request GET 'https://payments.belvo.com/api/payment-intents/{id}/' \
  -u [Secret Key ID]:[Secret Key PASSWORD]

Where:

  • id is the object_id of the payment intent (which you receive in the webhook event).

Transactions

OBJECT_CREATED

Whenever there is a new transaction created, you will receive the following webhook:

{
  "webhook_id": "3b9a69f7-0f0a-455b-832d-49ad6fd4905c",
  "webhook_type": "TRANSACTIONS",
  "webhook_code": "OBJECT_CREATED",
  "object_id": "d2e40773-19f6-48d1-93c3-3590ec0c74df",
  "data": {},
}

Once you receive the notification, you can get details on the transaction by making the following request:

curl --request GET 'https://payments.belvo.com/api/transactions/{id}/' \
  -u [Secret Key ID]:[Secret Key PASSWORD]

Where:

  • id is the object_id of the transaction (which you receive in the webhook event).