Webhooks: Payments
Overview
- Payment webhooks allow clients to receive real-time notifications about the status and progression of their payment transactions.
- Once a payment intent is created, the platform will send webhook callbacks to the URLs provided by the client. These callbacks inform the client about:
- Payment status updates
- 3-D Secure (3DS) authentication events
Note: We do not modify, transform, or alter in any way the webhook URLs received from clients. The exact URL provided in the intent creation request is the one used for all webhook callbacks.
Type "Payment status updates"
- Sent when a payment status changes (e.g., ACCEPTED, DECLINED, ERROR). Not only terminal statuses, but all. Full status model is available on the link
- Triggered By: Internal processing events after payment intent creation.
- Client must provide URL in:
payments[].webhookUrlinside the request: POST /processing/api/v1/intents
Example:
{
"transactionType": "PAYMENT",
"transactionId": "111122223333444455",
"status": "ACCEPTED"
}{
"transactionType": "PAYMENT",
"transactionId": "111122223333444455",
"status": "ERROR",
"errorCode": "CODE_PT0000",
"errorMessage": "string"
}Fields Description
Field | Type | Description |
|---|---|---|
transactionType | String | Identifies the transaction type. |
transactionId | String | Our internal Transaction ID on the platform |
status | string | The status of the transaction |
errorCode | string | Client-defined error code if the transaction cannot be processed |
errorMessage | string | Human-readable description of the error. |
Type "3DS Webhook"
- Sent when 3-D Secure authentication is required or progresses.
- Triggered By: Events related to 3-D Secure authentication.
- Client must provide URL in:
payments[].threeDSNotificationsUrlinside the same intent creation request: POST /processing/api/v1/intents
Example
{
"cReq": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvxIn0",
"acsUrl": "https://acs.bpcprocessing.net/acs/api/3ds2/creqbrw/497637fb1",
"threeDSSessionData": "",
"partnerPaymentId": "0c07fdf5ef6ba5f6ffb",
"paymentStatus": "AUTHORIZATION_REQUESTED",
"paymentId": "248754602014800000"
}| Field | Type | Description |
|---|---|---|
| cReq | String | Encoded 3DS Challenge Request message. |
| acsUrl | String | URL of the Access Control Server where the challenge must be presented. |
| threeDSSessionData | String | Optional session-related data for the 3DS process. |
| partnerPaymentId | String | Payment identifier on the partner/client side. |
| paymentStatus | String | Current authentication or authorization stage (e.g., AUTHORIZATION_REQUESTED). |
| transactionId | String | Our internal Transaction ID on the platform |
Updated 3 days ago
