---
title: "Get the status of a payment"
method: GET
path: "/payments/{paymentId}/status"
tags: ["Payments"]
---

# Get the status of a payment

`GET /payments/{paymentId}/status`

Returns the status of a payment

## Path parameters

- `paymentId` string, required

## Query parameters

- `include` string[]

## Response `200`

OK

- PaymentStatusResponse — This returns a list of included relationships. This should only be included on the root of the response.
  - `paymentId` string, required — Unique identifier for the payment
  - `merchantTransactionId` string — Your unique identifier that can be used when a connection issue occurs and you don't receive a paymentId. This is an optional field that can be used when querying `GET v1/payments`, `GET v1/payouts` or `GET v1/payments/{paymentId}/refunds`. We will validate the uniqueness of the merchantTransactionId value per retail channel. If a payment/payout/refund is created with merchantTransactionId `abc`, no other payment/payout/refund can be created with `abc`. The merchantTransactionId is a contract between BR-DGE and a merchant. This field will not be mapped downstream to any PSP. In the event that you provide a merchantTransactionId in the second (or third) leg of a 3DS payment, we will ignore this value and will only use the value provided in the initial request.
  - `customer` object — Information pertaining to the customer whom made the transaction.
    - `id` string, required — The ID of the customer in your system. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
  - `code` string, required — [Response Code] signifying the outcome of the request. [Response Code]: https://docs.br-dge.io/docs/response-codes
  - `message` string, required — A description of the outcome
  - `psp` PspInfo
    - `name` string, required — Name of Payment Service Provider (PSPs). Please see [PSP Integrations] for a list of possible PSPs. [PSP Integrations]: https://docs.br-dge.io/docs/psp-integrations
    - `transactionId` string, required — Identifier provided by the PSP this payment was routed to.
    - `switchAccountId` string — Internal switch account identifier for the PSP account that was used to perform the transaction. This is an internally-assigned identifier, not a value provided by the PSP. Please note: PSP account switching feature is still under development and this field is not present in GET responses and notifications yet.
    - `pspToken` string — The token created by the PSP for the payment instrument.
    - `pspCardFingerprint` string — The PSP fingerprint for the payment instrument.
    - `provisionedUserId` string — PSP-specific user ID that was provisioned by the PSP when processing the payment.
    - `additionalInfo` union — Any additional information returned from interaction with PSP
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `customerFirstName` string — Customer's first name
        - `customerLastName` string — Customer's last name
        - `customerDateOfBirth` string, date — Customer's date of birth
        - `customerIpAddress` string, ipv4 — IP address of the customer
        - `customerId` string — The ID of the customer in your system.
        - `paysafecardCustomerId` string — Paysafecard identifier for the customer
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `customerPaymentOptionId` string — Identifier for the customer Payment Option
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `customerPaymentOptionId` string — Identifier for the customer Payment Option
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `customer` TrueLayerCustomer — Contains TrueLayer customer information.
          - `address` Address
            - `firstName` string — First name of the occupant. Please use only letters, spaces and these symbols: `-'.`
            - `lastName` string — Last name of the occupant. Please use only letters, spaces and these symbols: `-'.`
            - `phoneNumber` string — Telephone number of the occupant Please use only numbers, spaces and an optional leading +.
            - `buildingNumberOrName` string — The building number or name. Providing a building number or name separate from `address1` is recommended as some payment service provider (PSP) APIs have a separate field. If you are unsure whether you need to collect this data, please raise a ticket with support on the BR-DGE Support Portal at <https://docs.br-dge.io/docs/support#contact-support>. Please use only letters, spaces and these symbols: `-'.`
            - `address1` string — First line of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
            - `address2` string — Second line of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
            - `address3` string — Third line of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
            - `town` string — Town of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
            - `county` string — County of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
            - `postcode` string — Postcode of the address. Please use at least one and no more than 9 alphanumeric characters (excl. spaces).
            - `country` string — ISO 3166 Alpha-2 Country code
          - `dateOfBirth` string, date — Date of birth of the referenced person. While this field is not required by the BR-DGE API; it is highly recommended as some PSPs recommend the inclusion of this field. If you have any questions about whether you should provide customer date of birth, please raise a ticket with the [BR-DGE Support Centre](https://support.br-dge.io/support/home).
          - `customerId` string — The ID of the customer in TrueLayer's system
          - `name` string — Customer's full name
        - `providerId` string — ID of the bank or other financial institution used in this payment in TrueLayer's system
        - `paymentSourceId` string — ID of the customer's payment source used to perform the payment in TrueLayer's system
        - `originalTransactionId` string
        - `accountNumber` string — 8 digit bank account number.
        - `sortCode` string — 6 digit sort code (no spaces or dashes).
        - `iban` string — Valid ISO 13616 International Bank Account Number (no spaces). Consists of a 2 letter country code, followed by 2 check digits, and then by up to 30 alphanumeric characters (also known as the BBAN).
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `fingerprint` string — The fingerprint associated to the authorized order's payment method
        - `name` string — The name of the revolut customer.
        - `emailAddress` string — The email address of the revolut customer
        - `paymentRevTag` string — Unique handle for a Revolut customer.
        - `revolutCustomerId` string, uuid — The unique identifier for the revolut customer.
        - `billingAddress` RevolutPayBillingAddress
          - `street_line_1` string — First line of street address information for Revolut customer.
          - `street_line_2` string — Second line of street address information for Revolut customer..
          - `region` string — The region associated with the address.
          - `city` string — The region associated with the address.
          - `country_code` string — 2 letter country code of the country associated with the address.
          - `postcode` string — The postcode associated with the address.
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `vaultId` string — Vault ID generated by PayPal referring to the customer's stored PayPal wallet.
        - `paymentSource` PaymentSource — Details of the PayPal account used to complete the payment for the PayPal Order.
          - `name` string — Full name of customer.
          - `email` string — Email address of the customer.
          - `accountId` string — PayPal account ID.
          - `vaultId` string — Vault ID generated by PayPal referring to the customer's stored PayPal wallet.
      - object
        - `type` string — Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.
        - `pin` string — voucher pin
        - `serialNumber` string — voucher serial number
    - `rawPspResponses` RawPspResponse[], nullable
      - `httpStatusCode` integer — The http response code for the given call to the external system
      - `body` string — The response body of the http request to the external system. This is the raw response with sensitive data redacted. We make no guarantees about the format of this field. It is psp dependant. The majority of these responses are in `application/json` but note for certain types of error response they may be `text/html` or `application/xml`
      - `pspName` string, required — Name of Payment Service Provider (PSPs). Please see [PSP Integrations] for a list of possible PSPs. [PSP Integrations]: https://docs.br-dge.io/docs/psp-integrations
      - `headers` object — A key/value map of the http headers from the external system.
    - `paymentAccountReference` string — The Payment Account Reference (PAR) linked the the payment-instrument, if available. See our [dedicated PAR guide](https://docs.br-dge.io/docs/payment-account-reference) for more info.
  - `timestamp` string, date-time, required — Timestamp when the transaction entered its latest status.
  - `relationships` object — A map of a specified relation to the identifiable information for that relation. The key of the map is the requested relation information from the include parameter.
  - `included` IncludedRelationshipsItem[] — A list of included relationships, where applicable these can be included via the include parameter. This conforms to [JSON:API Compound Documents]. [JSON:API Compound Documents]: https://jsonapi.org/format/1.1/#document-compound-documents
    - union
      - IncludedRelationshipsItemPaymentInstrument — An included relationship, will include the lookup information and the attributes related to that inclusion.
        - `attributes` union — The obfuscated details of a Payment Instrument. Can be one of many different instrument types.
          - PaymentResponseCard — Reusable details which can be returned on various card payment instrument backed payment instrument types. All details which are returned here are considered obfuscated.
            - `type` string, required — Discriminator field. Please see the discriminator mapping for the `PaymentInstrument` schema.
            - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
              - …
            - `expiryDate` string — Card expiry date in MM-YY format.
            - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
            - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
          - PaymentResponseTokenized — Reusable details which can be returned on various card payment instrument backed payment instrument types. All details which are returned here are considered obfuscated.
            - `type` string, required — Discriminator field. Please see the discriminator mapping for the `PaymentInstrument` schema.
            - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
              - …
            - `expiryDate` string — Card expiry date in MM-YY format.
            - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
            - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
          - PaymentResponseApplePay — Decrypted Apple Pay information and card metadata
            - `type` string, required — Discriminator field. Please see the discriminator mapping for the `PaymentInstrument` schema.
            - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
              - …
            - `expiryDate` string — Card expiry date in MM-YY format.
            - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
            - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
            - `decryptedPayload` ApplePayDecryptedPayload — [Apple Pay decrypted payload] excluding sensitive fields, such as cryptogram [Apple Pay decrypted payload]: https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/apple_pay/payment_token_format_reference#3949536
              - …
          - PaymentResponseGooglePay — Decrypted Google Pay information and card metadata
            - `type` string, required — Discriminator field. Please see the discriminator mapping for the `PaymentInstrument` schema.
            - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
              - …
            - `expiryDate` string — Card expiry date in MM-YY format.
            - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
            - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
            - `decryptedPayload` GooglePayDecryptedPayload — [Google Pay decrypted payload] excluding sensitive fields, such as cryptogram [Google Pay decrypted payload]: https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography#encrypted-message
              - …
          - PaymentResponseIssuerResponse — Raw Issuer Details
            - `type` string, required — Discriminator field. Please see the discriminator mapping for the `PaymentInstrument` schema.
            - `issuerResponse` IssuerResponse — BR-DGE allows you to directly access the original responses from card issuers for transactions processed through [payment processors] that offer the "Card Issuer Raw Responses" feature. [payment processors]: https://docs.br-dge.io/docs/psp-integrations
              - …
        - `id` string, required — The identifier for the specified relation.
        - `type` string, required — The resource type which is applicable for an entity.
      - IncludedRelationshipsItemIssuerResponse — An included relationship, will include the lookup information and the attributes related to that inclusion.
        - `attributes` IssuerResponse — BR-DGE allows you to directly access the original responses from card issuers for transactions processed through [payment processors] that offer the "Card Issuer Raw Responses" feature. [payment processors]: https://docs.br-dge.io/docs/psp-integrations
          - `issuerPaymentMethod` string — MASTERCARD, VISA, etc
          - `issuerCardType` string — The payment card type
          - `merchantAdviceCode` string — Merchant Advice
          - `type` string — This field is unnecessary and will be removed. DEPRECATED: Do not use, it contains no useful information.
          - `issuerResponse` object — This field provides duplicate Details from the issuer, already available on the same level. DEPRECATED: Do not use, all the relevant fields are available on the same level as this object.
            - `issuerPaymentMethod` string — MASTERCARD, VISA, etc DEPRECATED: The same information should be accessed from one level up.
            - `issuerCardType` string — The payment card type DEPRECATED: The same information should be accessed from one level up.
            - `merchantAdviceCode` string — Merchant Advice DEPRECATED: The same information should be accessed from one level up.
        - `id` string, required — The identifier for the specified relation.
        - `type` string, required — The resource type which is applicable for an entity.
  - `paymentInstrument` union, required
    - PaymentStatusPaymentInstrumentCard — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `nameOnCard` string
      - `pan` string, required
      - `expiryDate` string, required — Card expiry date in MM-YY format.
      - `cardMetadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
        - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
        - `cardBrand` string — MASTERCARD, VISA, etc
        - `issuer` string — Name of issuing bank
        - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
        - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
        - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
        - `commercial` boolean — Indicates if the card is corporate or retail
        - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
      - `fingerprint` string, required — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
      - `fingerprintExtended` string, required — A fingerprint with card expiry date appended in MMYY format.
    - PaymentStatusPaymentInstrumentApplePay — An object to include the deprecated `cardMetadata` field in the model. This has been replaced by `metadata`.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
        - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
        - `cardBrand` string — MASTERCARD, VISA, etc
        - `issuer` string — Name of issuing bank
        - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
        - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
        - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
        - `commercial` boolean — Indicates if the card is corporate or retail
        - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
      - `expiryDate` string — Card expiry date in MM-YY format.
      - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
      - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
      - `decryptedPayload` ApplePayDecryptedPayload — [Apple Pay decrypted payload] excluding sensitive fields, such as cryptogram [Apple Pay decrypted payload]: https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/apple_pay/payment_token_format_reference#3949536
        - `applicationPrimaryAccountNumber` string, required — Device-specific account number of the card that funds this transaction
        - `applicationExpirationDate` string, required — Card expiration date in the format YYMMDD
        - `currencyCode` string, required — ISO 4217 numeric currency code, as a string to preserve leading zeros
        - `transactionAmount` integer, required — Transaction amount in the lowest denomination of the given currency
        - `cardholderName` string — Optional field containing cardholder's name if present
        - `deviceManufacturerIdentifier` string, required — Hex-encoded device manufacturer identifier
        - `paymentDataType` '3DSecure' | 'EMV', required — Transaction type. EMV relates to POS terminal transactions. 3D-Secure relates to ecommerce transactions.
        - `paymentData` ApplePayDecryptedPaymentData, required — Detailed payment data, excluding cryptogram
          - `eciIndicator` integer — Optional. ECI indicator, as defined by 3D-Secure. The card network may add an ECI indicator to the payment data that the payment token includes.
        - `transactionId` string, required — Transaction identifier, generated on the device. Retrieved from [header] of decoded Apple Pay token. [header]: https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/apple_pay/payment_token_format_reference#3949539
      - `cardMetadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
        - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
        - `cardBrand` string — MASTERCARD, VISA, etc
        - `issuer` string — Name of issuing bank
        - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
        - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
        - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
        - `commercial` boolean — Indicates if the card is corporate or retail
        - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
    - PaymentStatusPaymentInstrumentGooglePay — An object to include the deprecated `cardMetadata` field in the model. This has been replaced by `metadata`.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
        - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
        - `cardBrand` string — MASTERCARD, VISA, etc
        - `issuer` string — Name of issuing bank
        - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
        - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
        - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
        - `commercial` boolean — Indicates if the card is corporate or retail
        - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
      - `expiryDate` string — Card expiry date in MM-YY format.
      - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
      - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
      - `decryptedPayload` GooglePayDecryptedPayload — [Google Pay decrypted payload] excluding sensitive fields, such as cryptogram [Google Pay decrypted payload]: https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography#encrypted-message
        - `gatewayMerchantId` string — Google Pay gateway merchant ID.
        - `messageExpiration` string — Date and time at which the message expires as UTC milliseconds since epoch.
        - `messageId` string — A unique ID that identifies the message in case it needs to be revoked or located at a later time.
        - `paymentMethod` 'CARD' — The type of the payment credential. Currently, only CARD is supported.
        - `paymentMethodDetails` GooglePayDecryptedPaymentMethodDetails — The Google Pay payment credential, excluding cryptogram.
          - `pan` string — The personal account number of the card that the Google Pay token relates to. The value of this field depends on the value of `authMethod`. - If authMethod is PAN_ONLY: - This is an obfuscated PAN, where only the last 4 digits are present. - If authMethod is CRYPTOGRAM_3DS: - This is the full DPAN value generated by Google Pay.
          - `expirationMonth` integer — The expiration month of the card, where 1 represents January, 2 represents February, and so on.
          - `expirationYear` integer — The four-digit expiration year of the card, such as 2020.
          - `authMethod` 'PAN_ONLY' | 'CRYPTOGRAM_3DS' — The authentication method of the card transaction.
          - `eciIndicator` string — This string isn’t always present. It returns only for authenticated device tokens transactions on Android (CRYPTOGRAM_3DS). This value must be passed down the payment processing flow. Possible values: ""(empty), 02, 06, 05, 07
          - `assuranceDetails` GooglePayDecryptedAssuranceDetails — This object provides information about the validation performed on the returned payment data.
            - `accountVerified` boolean — If true, indicates that Cardholder possession validation has been performed on returned payment credential.
            - `cardholderAuthenticated` boolean — If true, indicates that identification and verifications (ID&V) was performed on the returned payment credential. If false, the same risk-based authentication can be performed as you would for card transactions. This risk-based authentication can include, but is not limited to, 3D-Secure authentication if applicable.
      - `cardMetadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
        - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
        - `cardBrand` string — MASTERCARD, VISA, etc
        - `issuer` string — Name of issuing bank
        - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
        - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
        - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
        - `commercial` boolean — Indicates if the card is corporate or retail
        - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
    - PaymentStatusPaymentInstrumentClickToPay — Decrypted Apple Pay information and card metadata
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `metadata` CardMetadata — If a card payment instrument is used then BR-DGE may be able to provide metadata about the card **Please note: All text will be UPPERCASE and all fields can be null**
        - `metadataType` string — Discriminator field. Discriminator field. Please see the discriminator mapping for the PaymentInstrumentMetadata schema.
        - `cardBrand` string — MASTERCARD, VISA, etc
        - `issuer` string — Name of issuing bank
        - `type` 'DEBIT' | 'CREDIT' | 'CHARGE_CARD' | 'CHARGE' | 'DEFERRED_DEBIT' | 'PREPAID' | 'PREPAID_RELOADABLE' | 'UNKNOWN'
        - `category` string — CLASSIC, BUSINESS, MIXED_PRODUCT, etc
        - `countryIsoA2` string — ISO 3166 Alpha-2 Country code
        - `commercial` boolean — Indicates if the card is corporate or retail
        - `bin` string — The Bank Identification Number that identifies the bank or financial institution that issued the card
      - `expiryDate` string — Card expiry date in MM-YY format.
      - `fingerprint` string — A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.
      - `fingerprintExtended` string — A fingerprint with card expiry date appended in MMYY format.
      - `payload` ClickToPayPayload — The Click to Pay payload contains the decrypted payload information as well as ECI indicator via the `assuranceData` object.
        - `assuranceData` object — The assurance data object contains the ECI indicator used in the payment.
          - `eci` string — The ECI indicator for the Click to Pay payment.
        - `decryptedPayload` object — The payload decrypted from the Click to Pay token used in the payment.
          - `token` object — The decrypted Click to Pay network token.
            - `paymentToken` string — The DPAN from the decrypted Click to Pay network token.
            - `tokenExpirationMonth` string — The expiration month from the decrypted Click to Pay network token.
            - `tokenExpirationYear` string — The expiration year from the decrypted Click to Pay network token.
            - `paymentAccountReference` string — The payment account reference (PAR) from the decrypted Click to Pay network token.
          - `billingAddress` object — The billing address within the Click to Pay payment.
            - `name` string
            - `line1` string
            - `line2` string
            - `line3` string
            - `city` string
            - `state` string
            - `zip` string
            - `countryCode` string
          - `consumerFullName` string — The full name of the customer from the decrypted Click to Pay token.
          - `consumerFirstName` string — The first name of the customer from the decrypted Click to Pay token.
          - `consumerLastName` string — The last name of the customer from the decrypted Click to Pay token.
          - `dynamicData` object[] — The dynamic data array contains information such as the network token cryptogram to go with the DPAN.
            - `dynamicDataValue` string
            - `dynamicDataType` string
    - PaymentStatusPaymentInstrumentPayPal — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `account` PaymentInstrumentAccountBase
        - `accountId` string — The unique account identifier used by the payment instrument provider (Skrill, Paypal etc.) The id is only available after the customer has logged in to their account. Only supported on a subset of payment instruments.
    - PaymentStatusPaymentInstrumentIdeal — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentBancontact — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentTrustly — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `account` object — Contains Trustly account information.
        - `accountId` string, required — Trustly's unique ID for this bank account.
        - `bank` string — The bank for this account.
        - `town` string — The town of the account holder.
        - `name` string — The name of the account holder.
        - `address` string — The address of the account holder.
        - `postcode` string — The postcode of the account holder.
        - `descriptor` string — A text that is safe to show the end user for identifying the account.
        - `lastDigits` string — The last digits of the bank account number.
        - `clearingHouse` string — The clearing house of the end user's bank account (i.e. the country where the bank account is held).
        - `verified` boolean — Whether the bank account has been verified.
    - PaymentStatusPaymentInstrumentPix — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentPspTokenInstrument — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `token` string — The PSP Token used to initiate payment/payout
      - `customerId` string — The customerId used when provisioning PSP Token. This is only needed with certain PSP tokens.
    - PaymentStatusPaymentInstrumentAstroPayInstrument — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentPaysafecard — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `account` PaymentInstrumentAccountBase
        - `accountId` string — The unique account identifier used by the payment instrument provider (Skrill, Paypal etc.) The id is only available after the customer has logged in to their account. Only supported on a subset of payment instruments.
    - PaymentStatusPaymentInstrumentEasyPay — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentEPay — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentNeteller — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `account` PaymentInstrumentAccountBase
        - `accountId` string — The unique account identifier used by the payment instrument provider (Skrill, Paypal etc.) The id is only available after the customer has logged in to their account. Only supported on a subset of payment instruments.
    - PaymentStatusPaymentInstrumentSkrill — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `account` PaymentInstrumentAccountBase
        - `accountId` string — The unique account identifier used by the payment instrument provider (Skrill, Paypal etc.) The id is only available after the customer has logged in to their account. Only supported on a subset of payment instruments.
    - PaymentStatusPaymentInstrumentSkrillOneTap — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `oneTapPaymentId` string, required — BR-DGE paymentId for the order where 1-Tap payment was initially set up.
    - PaymentStatusPaymentInstrumentRevolutPay — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentTrueLayer — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
      - `userData` TrueLayerUserData — Contains TrueLayer customer account information.
        - `title` string — Title of the customer.
        - `firstName` string — First name of the customer.
        - `lastName` string — Last name of the customer.
        - `dateOfBirth` string, date — Date of birth of the referenced person. While this field is not required by the BR-DGE API; it is highly recommended as some PSPs recommend the inclusion of this field. If you have any questions about whether you should provide customer date of birth, please raise a ticket with the [BR-DGE Support Centre](https://support.br-dge.io/support/home).
        - `address` Address
          - `firstName` string — First name of the occupant. Please use only letters, spaces and these symbols: `-'.`
          - `lastName` string — Last name of the occupant. Please use only letters, spaces and these symbols: `-'.`
          - `phoneNumber` string — Telephone number of the occupant Please use only numbers, spaces and an optional leading +.
          - `buildingNumberOrName` string — The building number or name. Providing a building number or name separate from `address1` is recommended as some payment service provider (PSP) APIs have a separate field. If you are unsure whether you need to collect this data, please raise a ticket with support on the BR-DGE Support Portal at <https://docs.br-dge.io/docs/support#contact-support>. Please use only letters, spaces and these symbols: `-'.`
          - `address1` string — First line of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
          - `address2` string — Second line of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
          - `address3` string — Third line of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
          - `town` string — Town of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
          - `county` string — County of the address. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
          - `postcode` string — Postcode of the address. Please use at least one and no more than 9 alphanumeric characters (excl. spaces).
          - `country` string — ISO 3166 Alpha-2 Country code
        - `accountDetails` TrueLayerAccountDetails — TrueLayer Account Details
          - `accountNumber` string — 8 digit bank account number.
          - `sortCode` string — 6 digit sort code (no spaces or dashes).
          - `iban` string — Valid ISO 13616 International Bank Account Number (no spaces). Consists of a 2 letter country code, followed by 2 check digits, and then by up to 30 alphanumeric characters (also known as the BBAN).
          - `providerId` string — The TrueLayer ID of a bank or other financial institution.
          - `paymentSourceId` string — The TrueLayer ID of the customer's payment details.
    - PaymentStatusPaymentInstrumentOneVoucher — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentBank2Bank — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentOttVoucher — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
    - PaymentStatusPaymentInstrumentBluVoucher — General fields which are valid for a payment instrument.
      - `type` string, required — Discriminator Field, defines the type of payment instrument. Valid values can be found on the parent object’s discriminator definition in OpenAPI schema.
  - `status` 'AUTHORIZED' | 'AUTHORIZATION_DECLINED' | 'AUTHORIZATION_PENDING' | 'CAPTURED' | 'CAPTURE_FAILED' | 'CAPTURE_PENDING' | 'EXPIRED' | 'REJECTED' | 'VOIDED' | 'VOID_PENDING' | 'VOID_FAILED' | 'BLOCKED' | 'UNKNOWN', required — Status of the payment. See [Transaction Statuses](https://docs.br-dge.io/docs/transaction-statuses) for further detail.
  - `reference` string, required — The merchant defined customer order code for the payment.
  - `comcardeCode` ComcardeCode
    - `code` string — A unique identifier covering the outcome of the request.
    - `description` string — A description of the outcome of the request.
  - `riskAssessments` RiskAssessments — An optional map of risk assessment results received from risk engines.
    - `kount` KountRiskAssessment — Risk assessment from Kount risk engine.
      - `score` number, double — The [Omniscore] transaction safety rating received from Kount's risk engine. [Omniscore]: https://support.kount.com/hc/en-us/articles/360045236712-Omniscore-Overview
      - `decision` 'APPROVED' | 'DECLINED' | 'UNAVAILABLE' | 'REVIEW', required — Kount's risk decision Can be one of: - `APPROVED`: Kount risk engine has approved the transaction. - `DECLINED`: Kount risk engine has declined the transaction. - `UNAVAILABLE`: Kount risk engine was unavailable to give a decision. - `REVIEW`: Kount risk engine has advised that manual review of transaction is required.
      - `reasonCode` string — The **reasonCode** indicates a [Custom Reason Code] you've configured within your Kount dashboard. This code is returned when a specific individual rule you've created in Kount is triggered. To manage or add new custom reason codes and their associated rules, please use your Kount dashboard. [Custom Reason Code]: https://support.kount.com/hc/en-us/articles/360045746411-Set-Up-Custom-Reason-Codes
      - `transactionId` string — Transaction identifier provided by Kount.
      - `tags` string[], nullable — List of tags assigned to the transaction by Kount.
    - `merchant` MerchantRiskAssessment — Risk assessment from Merchant's own risk engine. Can be used to return results when the merchant has a proprietary risk or validation engine they wish to call during the payment or payout flows.
      - `decision` 'APPROVED' | 'DECLINED' | 'UNAVAILABLE' | 'HELD', required — Merchant's decision Can be one of: - `APPROVED`: Merchant's risk engine has approved the transaction. - `DECLINED`: Merchant's risk engine has declined the transaction. - `UNAVAILABLE`: Merchant's risk engine was unavailable to give a decision. - `HELD`: Merchant’s risk engine has placed the transaction on hold
      - `code` string — The response code returned by the engine.
      - `message` string — Message returned by the engine.
      - `retryable` boolean — Indicates whether transaction can be amended and retried.
      - `transactionId` string — Transaction identifier returned by the Merchant risk engine.
      - `rawResponse` RawResponse — Contains a single http response.
        - `httpStatusCode` integer — The http response code for the given call to the external system
        - `body` string — The response body of the http request to the external system. This is the raw response with sensitive data redacted. We make no guarantees about the format of this field. It is psp dependant. The majority of these responses are in `application/json` but note for certain types of error response they may be `text/html` or `application/xml`
  - `cashierId` string — For use by BR-DGE Cashier to link the transaction to a particular Cashier instance.
  - `customMetadata` CustomMetadata — Optional custom metadata string fields for the transaction. Up to 25 fields can be included with the following constraints: The field name may not be empty or have leading or trailing whitespace, and can consist of upper and lowercase letters, numbers, space, underscore "_", hyphen "-" and single quote "'". Maximum string length of either field name and field value is 200 chars.
  - `paymentRails` 'EFTPOS' | 'VISA' | 'MASTERCARD' — Payment rails are the systems and networks that are used to move funds between parties. Card networks can act as payment rails. This field contains payment rails used for current payment. - EFTPOS - Australia's domestic debit card payments network - VISA - Visa international payment network - MASTERCARD - Mastercard international payment network
  - `keyIdentifiers` KeyIdentifiers — The associated key identifiers used during the transaction identifying the instrument and customer.
    - `customerIdentifiers` CustomerIdentifiers
      - `customerId` string — The ID of the customer in your system. Please use only letters, numbers, spaces and these symbols: `'[]()@?!\-/.,_&*:;+=`
    - `paymentInstrumentIdentifiers` union
      - GooglePay3DSCryptogramKeyIdentifiers — Key identifiers for the 3DS_CRYPTOGRAM GooglePay payment instrument.
        - `type` string, required — Discriminator field.
        - `dpan` object, required — The DPAN (Device Primary Account Number) of the payment instrument.
          - `id` string, uuid — A unique id for a specific identifier, used in other operations to perform actions on the identifier.
          - `value` string — The contents of a key identifier.
      - GooglePayPanOnlyKeyIdentifiers — Key identifiers for the PAN_ONLY GooglePay payment instrument.
        - `type` string, required — Discriminator field.
      - RevolutPayKeyIdentifiers — Key identifiers for the Revolut Pay payment instrument.
        - `type` string, required — Discriminator field.
        - `fingerprint` object, required — A unique identifier for a payment method with Revolut Pay.
          - `id` string, uuid — A unique id for a specific identifier, used in other operations to perform actions on the identifier.
          - `value` string — The contents of a key identifier.
      - PayPalKeyIdentifiers — Key identifiers for the PayPal payment instrument.
        - `type` string, required — Discriminator field.
        - `accountId` object, required — A unique identifier for a payment method with PayPal.
          - `id` string, uuid — A unique id for a specific identifier, used in other operations to perform actions on the identifier.
          - `value` string — The contents of a key identifier.
      - GenericKeyIdentifiers — Key Identifiers for all other payment instruments.
        - `type` string, required — Discriminator field.
        - `keyIdentifier` object, required — A unique identifier for a payment method.
          - `id` string, uuid — A unique id for a specific identifier, used in other operations to perform actions on the identifier.
          - `value` string — The contents of a key identifier.
  - `avsResult` AvsResult — Information about the AVS (Address Verification Service) result.
    - `code` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' — The AVS (Address Verification Service) result code. | AVS Code | Meaning | |----------|---------------------------------------------------------------| | A | Postal code matches, street address matches. | | B | Postal code matches, street address not checked. | | C | Postal code matches, street address does not match. | | D | Postal code not checked, street address matches. | | E | Postal code does not match, street address matches. | | F | Postal code not checked, street address not checked. | | G | Postal code not checked, street address does not match. | | H | Postal code does not match, street address not checked. | | I | Both postal code and street address do not match. | | J | Both postal code and street address were not provided. | | K | AVS is unavailable. | | L | Postal code was not provided, street address was not checked. | | M | Postal code was not provided, street address matches. | | N | Postal code was not provided, street address does not match. | | O | Postal code was not checked, street address was not provided. | | P | Postal code matches, street address was not provided. | | Q | Postal code does not match, street address was not provided. |
    - `message` string — A human readable meaning behind the AVS code specified in the `code` field.
  - `amount` integer, required — Amount in a currency to be used for the transaction. In the lowest denomination of the currency of the payment. This means that `1234` in GBP represents `£12.34`.
  - `currencyCode` string, required — Currency code of the payment (ISO 4217)
  - `scaDetails` ScaDetails — Contains Strong Customer Authentication (SCA) details about the outcome of any 3DS process the payment went through
    - `eci` string — The Electronic Commerce Indicator (ECI) value that indicates the 3DS authentication level
  - `authorizationCode` string — The code provided by the PSP in response to a successfully authorized payment.
  - `blockingRule` BlockingRule — The routing rule which resulted in the transaction being blocked.
    - `name` string, required — The name of the rule

## Other responses

- `400` — Bad request - the request was in an invalid format or contained invalid information. If have any questions about why you are receiving these responses, please raise a ticket with support on the BR-DGE Support Portal at <https://docs.br-dge.io/docs/support#contact-support> with the `id` from the response so we track down the individual requests on our end.
- `401` — Unauthorized request.
- `404` — The specified entity was not found.
- `500` — An internal server error occurred upstream while processing the request. If you have any questions about why you are receiving these responses, please raise a ticket with support on the BR-DGE Support Portal at <https://comcarde.atlassian.net/servicedesk/customer/portals> with the `id` from the response so we track down the individual requests on our end.

---

[API](https://skmtc.net/br-dge/apis/br-dge-transaction-rest-api.md) · [All operations](https://skmtc.net/br-dge/apis/br-dge-transaction-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/br-dge/br-dge-transaction-rest-api/versions/a9c0feac5523/schema)
