Transaction Statuses

The BR-DGE platform provides multiple ways for integrators & merchants to check & receive the status of a transaction.

Transaction statuses can be obtained in the following ways

BR-DGE Portal

Through the BR-DGE portal, you can view the status of your transactions through the “Transactions” area, accessible via the link in the sidebar.

The Transactions area allows you to set a date range to narrow down your search window, and allows you to provide transaction details to focus your search.

REST API

When checking the status of a Payment, Refund or Payout through the BR-DGE Platform, a corresponding paymentID is required that will have been received as part of the initial Payment request, or will have been used as the ID for the Refund or Payout request.

By submitting this payment ID to the corresponding endpoint, a status can be obtained.

When checking the status of an Order, the format is similar, however an orderID is required rather than a paymentID.

Payments

Payment statuses can be queried by using the /v1/payments/{paymentId}/status endpoint - The full request & response schema can be found in our API reference.

⚠️

If you provide an incorrect, or unknown paymentId a HTTP/404 will be returned with the code 4040

{
  "code": "1000",
  "message": "Approved",
  "comcardeCode": {
    "code": "1000",
    "description": "Approved"
  },
  "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
  "status": "AUTHORIZED",
  "timestamp": "2022-01-30T10:10:10.000Z",
  "reference": "example-customer-order-code",
  "paymentInstrument": {
    "type": "pspToken",
    "token": "src_nwd3m4in3hkuddfpjsaevunhdy"
  },
  "psp": {
    "name": "Checkout.com",
    "transactionId": "pay_f2ws3hn4ijquzbytp3v5lsfxge"
  }
}

Payment Statuses

StatusDescription
AUTHORIZEDThe payment has been successfully authorized by the financial institution.
AUTHORIZATION_PENDINGThe authorization request for this payment is currently being processed and a final status is not yet available. A payment request may skip this status.
CAPTUREDThe funds for this authorized payment have been successfully requested for transfer.
CAPTURE_FAILEDAn attempt to finalize the payment capture was unsuccessful.
CAPTURE_PENDINGThe request to capture the funds for this authorized payment is currently being processed. A payment request may skip this status.
DECLINEDThe financial institution has declined the authorization request for this payment.
EXPIREDThe timeframe for capturing the authorized funds has passed, and the authorization is no longer valid.
REJECTEDThe payment was rejected for processing due to a system error.
VOIDEDThe authorization for this payment has been successfully cancelled before the funds were captured.
VOID_FAILEDAn attempt to cancel the authorized payment was unsuccessful.
VOID_PENDINGThe request to cancel the authorization for this payment is currently being processed.

Refunds

Refund statuses can be queried by using the /v1/payments/{paymentId}/refund endpoint - The full request & response schema can be found in our API reference.

⚠️

If you provide an incorrect, or unknown paymentId an empty array with a HTTP/200 will be returned

[
  {
    "paymentId": "581c20ef-3a36-4ad9-a11a-88d92a2395eb",
    "status": "PENDING",
    "timestamp": "2024-11-04T14:30:00Z",
    "paymentInstrument": {
      "type": "card",
      "nameOnCard": "John F Doe",
      "pan": "1233 56##",
      "expiryDate": "06-30",
      "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
      "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630",
      "cardMetadata": {
        "cardBrand": "VISA",
        "issuer": "ACMEBANK",
        "type": "DEBIT",
        "category": "CLASSIC",
        "countryIsoA2": "GB",
        "commercial": true
      }
    },
    "psp": {
      "name": "Checkout.com",
      "transactionId": "pay_f2ws3hn4ijquzbytp3v5lsfxge"
    },
    "code": 2101,
    "message": "Pending",
    "amount": 1000,
    "merchantTransactionId": "abc123"
  }
]

Payouts

Payout statuses can be queried by using the /v1/payouts/{paymentId}/status endpoint - The full request & response schema can be found in our API reference.

⚠️

If you provide an incorrect, or unknown paymentId a HTTP/404 will be returned with the code 4040

{
  "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
  "timestamp": "2022-01-30T10:10:10.000Z",
  "code": "1000",
  "message": "Approved",
  "status": "APPROVED",
  "paymentInstrument": {
    "type": "pspToken",
    "token": "ABC123",
    "psp": "Braintree",
    "customerId": "customerId"
  },
  "psp": {
    "name": "Braintree",
    "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
  },
  "reference": "example-merchant-payout-refererence"
}

Orders

Order statuses can be queried by using the /v1/order/{orderId}/status endpoint - The full request & response schema can be found in our API reference.

⚠️

If you provide an incorrect, or unknown paymentId a HTTP/404 will be returned with the code 4040

{
  "code": "1006",
  "message": "Order complete - payment succeeded",
  "creationTimestamp": "2022-01-30T10:10:10Z",
  "payments": [
    {
      "paymentId": "db805559-7cc4-4866-9e52-0b60fa59f12b",
      "code": "1000",
      "message": "Approved",
      "timestamp": "2022-01-30T10:10:10Z",
      "paymentInstrument": {
        "type": "card",
        "nameOnCard": "John F Doe",
        "pan": "1233 56## #### 1133",
        "expiryDate": "06-30",
        "cardMetadata": {
          "cardBrand": "VISA",
          "issuer": "ACMEBANK",
          "type": "DEBIT",
          "category": "CLASSIC",
          "countryIsoA2": "GB",
          "commercial": true
        }
      },
      "psp": {
        "name": "Worldline Online Payments",
        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
      }
    }
  ]
}

Notifications

BR-DGE retail channels support notifications that allow us to send you updates when events occur on your payments infrastructure. BR-DGE notifications are broken into two categories, Subscription & Wildcard notifications.

Both types of notification can be configured at the same time. If you would like all events sent to the same URL BR-DGE can configure a wildcard to send all notifications to a single endpoint in your system.

Wildcard Notifications

Wildcard notifications can be configured to work in two ways.

  1. They can be used to route all events to a single endpoint
  2. As a catch all for any events that you have not configured as a subscription

For example:

You may wish to send APPLE_PAY events to example.com/notifications/apple_pay and all other events to example.com/notifications/wildcard. This can be achieved by using a combination of subscription & wildcard notifications.

Subscription notifications

Subscription notifications allow BR-DGE to send updates for one or more payment types to a specific URL. Allowing you to receive updates on any of the below payment types to a dedicated endpoint.

Supported paymentTypes:

  • CARD
  • APPLE_PAY
  • GOOGLE_PAY
  • IDEAL
  • PAYPAL
  • BANCONTACT

Enabling notifications

To enable notifications on your BR-DGE retail channels get in contact with support.

Transaction Status Polling

As a belt and braces mechanism, for payment or payouts where we expect a change of status, we poll our PSP partners if we haven’t received any information on a payment or payout from them after a determined period of time (12 hours). From then on, we will query the payment or payout every hour for another 48 hours. If we haven’t received a status update on the transaction after that time, we will consider the payment stale and investigate further.

The polling mechanism is currently available for the following providers:

  • Checkout.com

To enable automated status polling for your retail channels get in contact with support.