Transaction Statuses

BR-DGE is a robust platform designed to streamline and simplify payment processing for merchants. To ensure a consistent and user-friendly experience, we've implemented a system of normalized transaction statuses. This system provides a unified view of payment transactions, regardless of the underlying payment instrument (e.g., credit card, PayPal, PaysafeCard, etc.) or Payment Provider (e.g. Payment Service Providers such as Stripe, Adyen, etc or Payment Providers such as PaysafeCard, PayPal, etc).

This guide will delve into the specifics of our normalized transaction status system, including:

  • BR-DGE Transaction Statuses
  • How to track BR-DGE Transaction Statuses
  • How BR-DGE automatically tracks 3rd party Transaction Statuses

By understanding these concepts, you'll gain a clearer picture of how BR-DGE Payment Orchestration ensures a smooth and efficient payment experience for our merchants.


BR-DGE Transaction Statuses

By mapping native transaction statuses of third-party payment instruments to our own standardized set, we offer several key benefits:

  • Simplified Integration: Merchants can interact with a single, familiar set of statuses, reducing the complexity of integrating with multiple payment providers.
  • Improved Consistency: Consistent status reporting across different payment methods enhances understanding and reduces potential errors.
  • Enhanced Data Analysis: Standardized statuses facilitate data analysis and reporting, providing valuable insights into payment performance.

Payment Transaction Statuses

Payment Transactions represents a request to transfer funds from customer accounts at banks or other financial institutions towards a merchants account. BR-DGE maps Payment transactions to a set of statuses based on standard card transactions.

BR-DGE Payment State Diagram

BR-DGE Payment State Diagram

In most cases, payment transactions follow a standard sequence: Authorization Authorization Pending → Authorized → Capture Pending → Captured. However, some transactions may bypass or quickly transition through certain stages depending on the payment instrument or payment processor involved.

Standard State Transition for Payments with auto-capture

Standard State Transition for Payments with auto-capture

With auto-capture disabled payments will stop in an authorized state until a capture or void is requested.

Standard State Transaction for Payments without auto-capture

Standard State Transaction for Payments without auto-capture

Authorization Pending

A transaction has been submitted for Authorization to the Processor and this request has been accepted by the Processor, but the outcome has not been determined.

Declined

A transaction has been submitted for Authorization to the Processor and this request has been processed and declined. The transaction could have been declined by the Processor due to rules within their system [Fraud, velocity limits, value limits] or by the Payment System.

For payments involving card rails, the decline often comes from the card issuer (e.g., insufficient funds).

There will be an associated “reason” assigned to this state providing details of the decline.

Rejected

A transaction has been submitted for Authorization to the processor and this been rejected due to a validation or a technical error. This rejection can have occurred within the BR-DGE platform, the Processor or the Payment System. There will be an associated “reason” assigned to this state providing details of the rejection.

Authorized

A transaction has been submitted for Authorization to the Processor and this request has been processed and Authorized.

For payments involving card rails, the card issuer will authorize the transaction.

The transaction is now available to be included in a Capture request. Where the merchant is enrolled for auto capture with the Processor, the transaction status will be set directly to captured.

Expired

An Authorized transaction has expired due to not being captured or cancelled within a time limit.

Capture Pending

An Authorized transaction has been submitted for capture and this request has been accepted by the Processor, but the outcome has not been determined.

Captured

An Authorized transaction has been submitted for capture and this request has been accepted and confirmed by the Processor.

Capture Failed

A transaction has been submitted for Authorization to the Processor and this request has been processed and failed. There will be an associated “reason” assigned to this state providing details of the failure.

Void Pending

The merchant has requested that an Authorized transaction is cancelled / voided and this request has been accepted by the Processor, but the outcome has not been determined.

Voided

The merchant has requested that an Authorized transaction is cancelled / voided and the Processor has accepted the void request.

Void Failed

The merchant has requested that an Authorized transaction be cancelled / voided and this request has been processed and failed. There will be an associated “reason” assigned to this state providing details of the failure.

Payout Transaction Statuses

Payout transactions represent a request to transfer funds from a merchant’s accounts at banks or other financial institutions towards a customer’s account.

BR-DGE Payout State Diagram

BR-DGE Payout State Diagram

In most cases, payout transactions follow a standard sequence: Pending → Approved. However, some transactions may bypass or quickly transition through the Pending stage depending on the payment instrument or payment processor involved

Standard Happy Path Payout State Transitions

Standard Happy Path Payout State Transitions

Pending

The payout request has been received and you should expect a further notification.

Approved

The payout has been approved

Declined

A transaction has been submitted for Authorization to the Processor and this request has been processed and declined. The transaction could have been declined by the Processor due to rules within their system [Fraud, velocity limits, value limits] or by the Payment System. There will be an associated “reason” assigned to this state providing details of the decline.

Rejected

A transaction has been submitted for Authorization to the processor and this been rejected due to a validation or a technical error. This rejection can have occurred within the BR-DGE platform, the Processor or the Payment System. There will be an associated “reason” assigned to this state providing details of the rejection.

Refund Transaction Statuses

Refund Transactions represents a request to... BR-DGE maps refund transactions to a set of statuses based on standard card transactions.

BR-DGE Refund State Diagram

BR-DGE Refund State Diagram

In most cases, refund transactions follow a standard sequence: Pending → Approved. However, some transactions may bypass or quickly transition through the pending state depending on the payment instrument or payment processor involved.

Standard Happy Path Refund State Transitions

Standard Happy Path Refund State Transitions

Approved

A transaction has been submitted for refund to the processor and this request has been processed.

Pending

A transaction has been submitted for refund to the processor and this request has been accepted by the processor but the outcome has not been determined.

Declined

A transaction has been submitted for refund to the processor and this request has been processed and declined. The transaction could have been declined by the processor due to rules within their system (fraud, velocity limits, value limits) or by the Card Issuer.


How to track BR-DGE Transaction Statuses

The BR-DGE platform provides multiple ways track the status of BR-DGE transactions so that you are always kept informed via both polling and push notifications.

  • Polling our REST API
  • Subscribing to Webhook Push Notifications
  • Tracking Transaction Statuses via the BR-DGE Portal

We advise utilizing Webhook Push Notifications to receive prompt alerts regarding transaction state changes. As a crucial redundancy, polling our REST API should be implemented as a fallback mechanism if webhook delivery is unsuccessful.

Recommended status tracking flow

Recommended status tracking flow

Polling our REST API

The status of any BR-DGE transaction can be queried via our REST API via the following endpoints

  • GET payments/{paymentId}/status: Use this to get the current status of a payment transaction, along with the status of associated refund transactions.
    • GET payments is similar to GET payments/{paymentId}/status but allows for payment transactions to be queried via additional identifiers.
  • GET payments/{paymentId}/refund : Use this to get the current status of refund transactions associated with a payment transaction. You can also optionally filter by a merchantTransactionId.
  • GET payouts/{paymentId}/status: Use this to get the current status of a payout transaction.
  • GET orders/{orderId}/status:Use this to get the current status of a Hosted Payment Page order, along with the status of associated payment transactions.

Subscribing to Webhook Push Notifications

Webhooks are automated push notifications that BR-DGE can send to your system as soon as an event, like a transaction status change, occurs. The following events relate to transaction status changes:

  • Payment Status Change
  • Payout Status Change
  • Refund Status Change

Here are examples of each transaction status change event payloads. The full structure of BR-DGE webhook notifications are documented in our API Reference under "callbacks" for API endpoints that can lead to events being triggered.

{
    "type": "payment",
    "id": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
    "merchantAccountId": "aadf8010-4df3-49c6-96c0-9f175f60ef36",
    "merchantTransactionId": "a8876gha-ph67-67fg-js06-2ad06sk9fp7c",
    "code": "1000",
    "message": "Approved",
    "status": "CAPTURED",
    "psp": {
        "name": "Barclaycard Smartpay Fuse",
        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c",
        "message": "{\"example\": \"psp-response\"}"
    },
    "hashCode": "90c3b3881074021383c8679f0232580f7b96cebacab77517fc4b479e6d977b06",
    "customerOrderCode": "ABC23"
}
{
  "type": "payout",
  "merchantAccountId": "aadf8010-4df3-49c6-96c0-9f175f60ef36",
  "merchantTransactionId": "a8876gha-ph67-67fg-js06-2ad06sk9fp7c",
  "reference": "ABC23",
  "id": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
  "code": "1000",
  "message": "Approved",
  "status": "PENDING",
  "payout": {
    "type": "UNKNOWN"
  },
  "psp": {
    "name": "Nuvei",
    "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c",
    "message": {
      "example": "psp-response"
    }
  },
  "hashCode": "90c3b3881074021383c8679f0232580f7b96cebacab77517fc4b479e6d977b06"
}
{
  "type": "refund",
  "merchantAccountId": "aadf8010-4df3-49c6-96c0-9f175f60ef36",
  "id": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
  "code": "1000",
  "message": "Approved",
  "status": "PENDING",
  "psp": {
    "name": "Checkout.com",
    "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c",
    "message": {
      "example": "psp-response"
    }
  },
  "hashCode": "90c3b3881074021383c8679f0232580f7b96cebacab77517fc4b479e6d977b06"
}

For each of your BR-DGE Retail Channels, you have the flexibility to establish multiple webhook configurations. Each of these configurations can be tailored to subscribe to a particular set of events, which will then be sent to a URL that you specify. If you're tracking transaction status changes, you can further refine these webhooks by filtering them based on the payment instrument used. This is handy if, for instance, you want to direct events from Apple Pay transactions to a different URL than other types of transactions. As an alternative, you can opt for a "wildcard" webhook subscription to route all events to a single, chosen URL.

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

Tracking Transaction Statuses via the BR-DGE Portal

The status of BR-DGE transaction will also be listed in the BR-DGE Portal Transaction Details page.


How BR-DGE automatically tracks 3rd party Transaction Statuses

Merchants often find themselves burdened with the necessity of maintaining direct integrations with numerous downstream payment providers to track the lifecycle of their transactions. This fragmented approach not only increases development and maintenance overhead but also introduces potential for discrepancies and delays. BR-DGE eliminates this complexity, ensuring that you no longer need to manage these individual connections.

We are consistently working to improve the robustness of our transaction status tracking. Our intelligent system uses both push notifications from payment providers and proactive pull mechanisms to keep BR-DGE continuously in sync with the real-time status of your transactions. This dynamic approach guarantees accurate and reliable information without redundant integrations or manual reconciliation. With BR-DGE, we aim to empower you with confidence in the reported status of every transaction. Our goal is to free you to focus on your core business, assured that your payment tracking is handled with unparalleled precision and reliability, and constantly evolving.

Sequence Diagram showing how BR-DGE uses both push and pull mechanisms to remain in sync with Payment Providers

Sequence Diagram showing how BR-DGE uses both push and pull mechanisms to remain in sync with Payment Providers