---
updatedAt: 2026-04-23T13:45:10.000Z
agentTools:
  projectIndex: https://docs.br-dge.io/llms.txt
---

# Get the status of a payout

Returns the status of a payout


# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "BR-DGE Transaction REST API",
    "description": "Use the BR-DGE Transaction REST API to manage and process transactions within BR-DGE. With these endpoints, you can create, retrieve, update and delete transactions securely and efficiently. These unlock access to various third-party payment services such as Payment Service Providers (PSPs), Digital Wallets and Alternative Payment Methods (APMs).\n\nPlease see our [Web SDK documentation] for more information about how we can help you integrate your client applications with us.\n## Authorization\nAPI keys can be generated via the BR-DGE portal and are grouped into two main classes based on their usage:\n- Server API keys for use by you in your secure back-end services, *and must not be exposed to your end users.*\n- Separate Client API keys will be provided for use in client applications to support certain features that need to\n  happen in untrusted client environments.\n\n## Environment Sub Domains\nThe BR-DGE REST API is hosted on a selection of subdomains. Use <https://sandbox.comcarde.com> for testing and either <https://secure.comcarde.com> or <https://secure-amer-01.api.br-dge.io> for live payments depending on your operational region.\n\n**IMPORTANT**: To ensure [PCI Compliance], please only use mock payment instrument data when interacting with our Sandbox API.\n\n[PCI Compliance]: https://www.pcisecuritystandards.org/\n[Web SDK documentation]: https://docs.br-dge.io/docs/web-sdk-introduction\n",
    "version": "v1.0.0",
    "contact": {
      "name": "Customer Support",
      "url": "https://docs.br-dge.io/docs/support#contact-support"
    },
    "license": {
      "name": "MIT",
      "url": "https://docs.br-dge.io/docs/openapi-license"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.comcarde.com/v1",
      "description": "Sandbox subdomain for testing your integration works as expected, using mock payment instruments only.\n"
    },
    {
      "url": "https://secure.comcarde.com/v1",
      "description": "Use this subdomain for processing live payments in the EU region."
    },
    {
      "url": "https://secure-amer-01.api.br-dge.io/v1",
      "description": "Use this subdomain for processing live payments in the NA region."
    }
  ],
  "tags": [
    {
      "name": "Payouts",
      "description": "Send money to your customers"
    }
  ],
  "externalDocs": {
    "url": "https://docs.br-dge.io"
  },
  "paths": {
    "/payouts/{paymentId}/status": {
      "get": {
        "tags": [
          "Payouts"
        ],
        "summary": "Get the status of a payout",
        "description": "Returns the status of a payout\n",
        "operationId": "getPayoutStatusUsingGET",
        "security": [
          {
            "ServerApiKey": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pathPaymentId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayoutStatusResponse"
                },
                "examples": {
                  "payout-pending": {
                    "summary": "Payout Pending",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "1000",
                      "message": "Approved",
                      "status": "PENDING",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "card",
                        "nameOnCard": "John F Doe",
                        "pan": "1233 56** **** 1133",
                        "expiryDate": "06-30",
                        "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
                        "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630",
                        "cardMetadata": {
                          "cardBrand": "VISA",
                          "issuer": "ACMEBANK",
                          "type": "DEBIT",
                          "category": "CLASSIC",
                          "countryIsoA2": "GB",
                          "commercial": true,
                          "bin": "45678765"
                        }
                      },
                      "payoutEligibility": {
                        "crossBorderGambling": "FAST_FUNDS",
                        "crossBorderMoneyTransfer": "UNKNOWN",
                        "crossBorderNonMoneyTransfer": "NOT_SUPPORTED",
                        "domesticGambling": "STANDARD",
                        "domesticMoneyTransfer": "FAST_FUNDS",
                        "domesticNonMoneyTransfer": "UNKNOWN"
                      },
                      "psp": {
                        "name": "Nuvei",
                        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
                      },
                      "reference": "example-merchant-payout-refererence"
                    }
                  },
                  "payout-approved": {
                    "summary": "Payout Approved",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "1000",
                      "message": "Approved",
                      "status": "APPROVED",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "card",
                        "nameOnCard": "John F Doe",
                        "pan": "1233 56** **** 1133",
                        "expiryDate": "06-30",
                        "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
                        "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630",
                        "cardMetadata": {
                          "cardBrand": "VISA",
                          "issuer": "ACMEBANK",
                          "type": "DEBIT",
                          "category": "CLASSIC",
                          "countryIsoA2": "GB",
                          "commercial": true,
                          "bin": "45678765"
                        }
                      },
                      "payoutEligibility": {
                        "crossBorderGambling": "FAST_FUNDS",
                        "crossBorderMoneyTransfer": "UNKNOWN",
                        "crossBorderNonMoneyTransfer": "NOT_SUPPORTED",
                        "domesticGambling": "STANDARD",
                        "domesticMoneyTransfer": "FAST_FUNDS",
                        "domesticNonMoneyTransfer": "UNKNOWN"
                      },
                      "psp": {
                        "name": "Braintree",
                        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
                      },
                      "reference": "example-merchant-payout-refererence"
                    }
                  },
                  "payout-approved-with-psp-token-payment-instrument": {
                    "summary": "Payout Approved (PSP Token)",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "1000",
                      "message": "Approved",
                      "status": "APPROVED",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "pspToken",
                        "token": "ABC123",
                        "psp": "Braintree",
                        "customerId": "customerId"
                      },
                      "psp": {
                        "name": "Braintree",
                        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
                      },
                      "reference": "example-merchant-payout-refererence"
                    }
                  },
                  "payout-declined": {
                    "summary": "Payout Declined",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "4252",
                      "message": "Transaction Error: Maximum number of attempts to process request reached",
                      "status": "DECLINED",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "card",
                        "nameOnCard": "John F Doe",
                        "pan": "1233 56** **** 1133",
                        "expiryDate": "06-30",
                        "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
                        "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630",
                        "cardMetadata": {
                          "cardBrand": "VISA",
                          "issuer": "ACMEBANK",
                          "type": "DEBIT",
                          "category": "CLASSIC",
                          "countryIsoA2": "GB",
                          "commercial": true,
                          "bin": "45678765"
                        }
                      },
                      "payoutEligibility": {
                        "crossBorderGambling": "FAST_FUNDS",
                        "crossBorderMoneyTransfer": "UNKNOWN",
                        "crossBorderNonMoneyTransfer": "NOT_SUPPORTED",
                        "domesticGambling": "STANDARD",
                        "domesticMoneyTransfer": "FAST_FUNDS",
                        "domesticNonMoneyTransfer": "UNKNOWN"
                      },
                      "psp": {
                        "name": "Checkout.com",
                        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
                      },
                      "reference": "example-merchant-payout-refererence"
                    }
                  },
                  "payout-rejected": {
                    "summary": "Payout Rejected by Issuing Bank",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "4622",
                      "message": "Payout Error: Card not eligible for desired payout.",
                      "status": "REJECTED",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "card",
                        "nameOnCard": "John F Doe",
                        "pan": "1233 56** **** 1133",
                        "expiryDate": "06-30",
                        "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
                        "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630",
                        "cardMetadata": {
                          "cardBrand": "VISA",
                          "issuer": "ACMEBANK",
                          "type": "DEBIT",
                          "category": "CLASSIC",
                          "countryIsoA2": "GB",
                          "commercial": true,
                          "bin": "45678765"
                        }
                      },
                      "payoutEligibility": {
                        "crossBorderGambling": "FAST_FUNDS",
                        "crossBorderMoneyTransfer": "UNKNOWN",
                        "crossBorderNonMoneyTransfer": "NOT_SUPPORTED",
                        "domesticGambling": "STANDARD",
                        "domesticMoneyTransfer": "FAST_FUNDS",
                        "domesticNonMoneyTransfer": "UNKNOWN"
                      },
                      "psp": {
                        "name": "Checkout.com",
                        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
                      },
                      "reference": "example-merchant-payout-refererence"
                    }
                  },
                  "payout-with-cashierId": {
                    "summary": "Payout With Cashier Id",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "1000",
                      "message": "Approved",
                      "status": "APPROVED",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "paysafecard"
                      },
                      "psp": {
                        "name": "Paysafecard",
                        "transactionId": "out_1020015172_WSqy3dHwH56gwk3x2beb76eoHRUpEqQ9_GBP"
                      },
                      "reference": "vJQZjYoShZClEMMElOGoTvNrmVzVhSzCEmJ",
                      "cashierId": "43ee1f43-df8b-47df-9b7d-33e3f69879b1"
                    }
                  },
                  "payout-with-custom-metadata": {
                    "summary": "Payout Pending with custom metadata",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "code": "1000",
                      "message": "Approved",
                      "status": "PENDING",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "paymentInstrument": {
                        "type": "card",
                        "nameOnCard": "John F Doe",
                        "pan": "1233 56** **** 1133",
                        "expiryDate": "06-30",
                        "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
                        "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630",
                        "cardMetadata": {
                          "cardBrand": "VISA",
                          "issuer": "ACMEBANK",
                          "type": "DEBIT",
                          "category": "CLASSIC",
                          "countryIsoA2": "GB",
                          "commercial": true,
                          "bin": "45678765"
                        }
                      },
                      "payoutEligibility": {
                        "crossBorderGambling": "FAST_FUNDS",
                        "crossBorderMoneyTransfer": "UNKNOWN",
                        "crossBorderNonMoneyTransfer": "NOT_SUPPORTED",
                        "domesticGambling": "STANDARD",
                        "domesticMoneyTransfer": "FAST_FUNDS",
                        "domesticNonMoneyTransfer": "UNKNOWN"
                      },
                      "psp": {
                        "name": "Nuvei",
                        "transactionId": "a83a53a2-dcc8-45be-bf70-2b1e4b719f7c"
                      },
                      "reference": "example-merchant-payout-refererence",
                      "customMetadata": {
                        "accountAge": "2",
                        "transactionType": "Other"
                      }
                    }
                  },
                  "payout-blocked": {
                    "summary": "Payout Blocked",
                    "description": "A payout blocked due to routing rules, the blocking rule is provided in the response.\n",
                    "value": {
                      "paymentId": "c2fcf424-d7df-4b8b-aa98-3a60ce990d7c",
                      "code": "4805",
                      "message": "Blocked by Routing Rules",
                      "timestamp": "2022-01-30T10:10:10Z",
                      "status": "BLOCKED",
                      "paymentInstrument": {
                        "type": "card",
                        "nameOnCard": "John F Doe",
                        "pan": "1233 56** **** 1133",
                        "expiryDate": "06-30",
                        "cardMetadata": {
                          "cardBrand": "VISA",
                          "issuer": "ACMEBANK",
                          "type": "PREPAID",
                          "category": "CLASSIC",
                          "countryIsoA2": "GB",
                          "commercial": true,
                          "bin": "45678765"
                        },
                        "fingerprint": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6",
                        "fingerprintExtended": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c60630"
                      },
                      "payoutEligibility": {
                        "crossBorderGambling": "UNKNOWN",
                        "crossBorderMoneyTransfer": "UNKNOWN",
                        "crossBorderNonMoneyTransfer": "UNKNOWN",
                        "domesticGambling": "UNKNOWN",
                        "domesticMoneyTransfer": "UNKNOWN",
                        "domesticNonMoneyTransfer": "UNKNOWN"
                      },
                      "reference": "example-merchant-payout-reference",
                      "amount": 1500,
                      "currencyCode": "GBP",
                      "blockingRule": {
                        "name": "Block pre-paid cards"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "404": {
            "$ref": "#/components/responses/EntityNotFound"
          },
          "500": {
            "$ref": "#/components/responses/UnknownServerError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Address": {
        "title": "Address",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "firstName": {
                "description": "First name of the occupant.\n\nPlease use only letters, spaces and these symbols: `-'.`",
                "type": "string",
                "maxLength": 255,
                "example": "John"
              },
              "lastName": {
                "description": "Last name of the occupant.\n\nPlease use only letters, spaces and these symbols: `-'.`",
                "type": "string",
                "maxLength": 255,
                "example": "Smith"
              },
              "phoneNumber": {
                "$ref": "#/components/schemas/PhoneNumber"
              }
            }
          },
          {
            "$ref": "#/components/schemas/DomicileAddress"
          }
        ]
      },
      "DomicileAddress": {
        "title": "Address",
        "type": "object",
        "properties": {
          "buildingNumberOrName": {
            "$ref": "#/components/schemas/BuildingNumberOrName"
          },
          "address1": {
            "$ref": "#/components/schemas/AddressLineOne"
          },
          "address2": {
            "$ref": "#/components/schemas/AddressLineTwo"
          },
          "address3": {
            "$ref": "#/components/schemas/AddressLineThree"
          },
          "town": {
            "$ref": "#/components/schemas/Town"
          },
          "county": {
            "$ref": "#/components/schemas/County"
          },
          "postcode": {
            "$ref": "#/components/schemas/Postcode"
          },
          "country": {
            "$ref": "#/components/schemas/CountryIsoCode"
          },
          "countrySubdivisionCode": {
            "description": "ISO 3166-2 Country subdivision code.\n\nFor an ISO 3166-2 code like `GB-SCT` you should only provide `SCT`.",
            "type": "string",
            "minLength": 1,
            "maxLength": 3,
            "pattern": "^[A-Z0-9]+$",
            "example": "WY"
          }
        }
      },
      "TransactionStatusBase": {
        "type": "object",
        "required": [
          "paymentId",
          "code",
          "message",
          "timestamp"
        ],
        "properties": {
          "paymentId": {
            "type": "string",
            "description": "Unique identifier for the payment",
            "example": "2c6a34be-f7a1-4b49-b09c-e84e1322df7f"
          },
          "merchantTransactionId": {
            "$ref": "#/components/schemas/MerchantTransactionId"
          },
          "customer": {
            "type": "object",
            "description": "Information pertaining to the customer whom made the transaction.",
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "$ref": "#/components/schemas/CustomerId"
              }
            }
          },
          "code": {
            "type": "string",
            "description": "[Response Code] signifying the outcome of the request.\n\n[Response Code]: https://docs.br-dge.io/docs/response-codes\n",
            "example": "1000"
          },
          "message": {
            "type": "string",
            "description": "A description of the outcome"
          },
          "psp": {
            "$ref": "#/components/schemas/PspInfo"
          },
          "timestamp": {
            "type": "string",
            "description": "Timestamp when the transaction entered its latest status.",
            "format": "date-time",
            "example": "2022-01-30T10:10:10Z"
          }
        }
      },
      "BasePaymentStatusPaymentInstrument": {
        "description": "General fields which are valid for a payment instrument.",
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "description": "Discriminator Field, defines the type of payment instrument.\nValid values can be found on the parent object’s discriminator definition in OpenAPI schema.\n",
            "type": "string"
          }
        }
      },
      "PaymentStatusPaymentInstrumentCard": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "required": [
              "pan",
              "expiryDate",
              "fingerprint",
              "fingerprintExtended"
            ],
            "properties": {
              "nameOnCard": {
                "type": "string",
                "example": "John F Doe"
              },
              "pan": {
                "type": "string",
                "example": "1234 56## #### 1111"
              },
              "expiryDate": {
                "$ref": "#/components/schemas/CardExpiryDate"
              },
              "cardMetadata": {
                "$ref": "#/components/schemas/CardMetadata"
              },
              "fingerprint": {
                "$ref": "#/components/schemas/Fingerprint"
              },
              "fingerprintExtended": {
                "$ref": "#/components/schemas/FingerprintExtended"
              }
            }
          }
        ]
      },
      "PaymentStatusPaymentInstrumentApplePay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "$ref": "#/components/schemas/ApplePayDetails"
          },
          {
            "$ref": "#/components/schemas/DeprecatedCardMetadataField"
          }
        ]
      },
      "PaymentStatusPaymentInstrumentGooglePay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "$ref": "#/components/schemas/GooglePayDetails"
          },
          {
            "$ref": "#/components/schemas/DeprecatedCardMetadataField"
          }
        ]
      },
      "PaymentStatusPaymentInstrumentClickToPay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "$ref": "#/components/schemas/ClickToPayDetails"
          }
        ]
      },
      "DeprecatedCardMetadataField": {
        "description": "An object to include the deprecated `cardMetadata` field in the model.\nThis has been replaced by `metadata`.\n",
        "deprecated": true,
        "type": "object",
        "properties": {
          "cardMetadata": {
            "description": "If a card payment instrument is used then BR-DGE may be able to provide metadata about the card\n\n**Please note: All text will be UPPERCASE and all fields can be null** DEPRECATED: If this field exists, instead `metadata` should be used.\n",
            "deprecated": true,
            "$ref": "#/components/schemas/CardMetadata"
          }
        }
      },
      "PaymentInstrumentAccountBase": {
        "title": "Account",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "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.\n",
            "example": "customer@email.com"
          }
        }
      },
      "PayoutStatusPaymentInstrumentTrustly": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/PaymentInstrumentAccountBase"
              }
            }
          }
        ]
      },
      "PaymentStatusPaymentInstrumentPspTokenInstrument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "properties": {
              "token": {
                "description": "The PSP Token used to initiate payment/payout",
                "type": "string"
              },
              "customerId": {
                "description": "The customerId used when provisioning PSP Token.\nThis is only needed with certain PSP tokens.\n",
                "type": "string"
              }
            }
          }
        ]
      },
      "PaymentStatusPaymentInstrumentAstroPayInstrument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PaymentStatusPaymentInstrumentPaysafecard": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/PaymentInstrumentAccountBase"
              }
            }
          }
        ]
      },
      "PayoutStatusPaymentInstrumentPayPal": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "properties": {
              "payPalAccountId": {
                "$ref": "#/components/schemas/PayPalAccountId"
              }
            }
          }
        ]
      },
      "PaymentStatusPaymentInstrumentNeteller": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/PaymentInstrumentAccountBase"
              }
            }
          }
        ]
      },
      "PaymentStatusPaymentInstrumentEasyPay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PaymentStatusPaymentInstrumentEPay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PaymentStatusPaymentInstrumentSkrill": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/PaymentInstrumentAccountBase"
              }
            }
          }
        ]
      },
      "PaymentStatusPaymentInstrumentRevolutPay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PaymentStatusPaymentInstrumentBank2Bank": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PayoutStatusPaymentInstrumentTrueLayer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PayoutStatusPaymentInstrumentAccessWorldpayBankPayout": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PayoutStatusPaymentInstrumentOtt": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusPaymentInstrument"
          }
        ]
      },
      "PayoutRiskAssessments": {
        "description": "An optional map of risk assessment results received from risk engines.",
        "type": "object",
        "properties": {
          "merchant": {
            "$ref": "#/components/schemas/MerchantRiskAssessment"
          }
        }
      },
      "MerchantRiskAssessment": {
        "description": "Risk assessment from Merchant's own risk engine. Can be used to return results when\nthe merchant has a proprietary risk or validation engine they wish to call during the\npayment or payout flows.\n",
        "type": "object",
        "required": [
          "decision"
        ],
        "properties": {
          "decision": {
            "description": "Merchant's decision\n\nCan be one of:\n- `APPROVED`: Merchant's risk engine has approved the transaction.\n- `DECLINED`: Merchant's risk engine has declined the transaction.\n- `UNAVAILABLE`: Merchant's risk engine was unavailable to give a decision.\n- `HELD`: Merchant’s risk engine has placed the transaction on hold\n",
            "type": "string",
            "enum": [
              "APPROVED",
              "DECLINED",
              "UNAVAILABLE",
              "HELD"
            ],
            "example": "APPROVED"
          },
          "code": {
            "description": "The response code returned by the engine.",
            "type": "string"
          },
          "message": {
            "description": "Message returned by the engine.",
            "type": "string"
          },
          "retryable": {
            "description": "Indicates whether transaction can be amended and retried.",
            "type": "boolean",
            "example": true
          },
          "transactionId": {
            "description": "Transaction identifier returned by the Merchant risk engine.",
            "type": "string"
          },
          "rawResponse": {
            "$ref": "#/components/schemas/RawResponse"
          }
        }
      },
      "PayoutStatusPaymentInstrument": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentApplePay"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentAstroPayInstrument"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentBank2Bank"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentCard"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentClickToPay"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentEPay"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentEasyPay"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentGooglePay"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentNeteller"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentPaysafecard"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentPspTokenInstrument"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentRevolutPay"
          },
          {
            "$ref": "#/components/schemas/PaymentStatusPaymentInstrumentSkrill"
          },
          {
            "$ref": "#/components/schemas/PayoutStatusPaymentInstrumentAccessWorldpayBankPayout"
          },
          {
            "$ref": "#/components/schemas/PayoutStatusPaymentInstrumentOtt"
          },
          {
            "$ref": "#/components/schemas/PayoutStatusPaymentInstrumentPayPal"
          },
          {
            "$ref": "#/components/schemas/PayoutStatusPaymentInstrumentTrueLayer"
          },
          {
            "$ref": "#/components/schemas/PayoutStatusPaymentInstrumentTrustly"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "accessWorldpay": "#/components/schemas/PayoutStatusPaymentInstrumentAccessWorldpayBankPayout",
            "applePay": "#/components/schemas/PaymentStatusPaymentInstrumentApplePay",
            "astroPay": "#/components/schemas/PaymentStatusPaymentInstrumentAstroPayInstrument",
            "bank2Bank": "#/components/schemas/PaymentStatusPaymentInstrumentBank2Bank",
            "card": "#/components/schemas/PaymentStatusPaymentInstrumentCard",
            "clickToPay": "#/components/schemas/PaymentStatusPaymentInstrumentClickToPay",
            "ePay": "#/components/schemas/PaymentStatusPaymentInstrumentEPay",
            "easyPay": "#/components/schemas/PaymentStatusPaymentInstrumentEasyPay",
            "googlePay": "#/components/schemas/PaymentStatusPaymentInstrumentGooglePay",
            "neteller": "#/components/schemas/PaymentStatusPaymentInstrumentNeteller",
            "ottPayout": "#/components/schemas/PayoutStatusPaymentInstrumentOtt",
            "paypal": "#/components/schemas/PayoutStatusPaymentInstrumentPayPal",
            "paysafecard": "#/components/schemas/PaymentStatusPaymentInstrumentPaysafecard",
            "pspToken": "#/components/schemas/PaymentStatusPaymentInstrumentPspTokenInstrument",
            "revolutPay": "#/components/schemas/PaymentStatusPaymentInstrumentRevolutPay",
            "skrill": "#/components/schemas/PaymentStatusPaymentInstrumentSkrill",
            "trueLayer": "#/components/schemas/PayoutStatusPaymentInstrumentTrueLayer",
            "trustly": "#/components/schemas/PayoutStatusPaymentInstrumentTrustly"
          }
        }
      },
      "PayoutEligibilityType": {
        "type": "string",
        "enum": [
          "NOT_SUPPORTED",
          "STANDARD",
          "FAST_FUNDS",
          "UNKNOWN"
        ]
      },
      "PayoutEligibility": {
        "type": "object",
        "properties": {
          "crossBorderGambling": {
            "description": "Whether the card is eligible for cross-border gambling transactions",
            "$ref": "#/components/schemas/PayoutEligibilityType"
          },
          "crossBorderMoneyTransfer": {
            "description": "Whether the card is eligible for cross-border money\n",
            "$ref": "#/components/schemas/PayoutEligibilityType"
          },
          "crossBorderNonMoneyTransfer": {
            "description": "Whether the card is eligible for cross-border non-money transfer transactions\n",
            "$ref": "#/components/schemas/PayoutEligibilityType"
          },
          "domesticGambling": {
            "description": "Whether the card is eligible for domestic gambling transactions\n",
            "$ref": "#/components/schemas/PayoutEligibilityType"
          },
          "domesticMoneyTransfer": {
            "description": "Whether the card is eligible for domestic money transfer\n",
            "$ref": "#/components/schemas/PayoutEligibilityType"
          },
          "domesticNonMoneyTransfer": {
            "description": "Whether the card is eligible for domestic non-money transfer transactions\n",
            "$ref": "#/components/schemas/PayoutEligibilityType"
          }
        }
      },
      "DetailsOfAssociatedCardPaymentInstrument": {
        "type": "object",
        "description": "Reusable details which can be returned on various card payment instrument backed payment instrument types. All details which are returned here are considered obfuscated.\n",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/CardMetadata"
          },
          "expiryDate": {
            "$ref": "#/components/schemas/CardExpiryDate"
          },
          "fingerprint": {
            "$ref": "#/components/schemas/Fingerprint"
          },
          "fingerprintExtended": {
            "$ref": "#/components/schemas/FingerprintExtended"
          }
        }
      },
      "CardMetadata": {
        "type": "object",
        "description": "If a card payment instrument is used then BR-DGE may be able to provide metadata about the card\n\n**Please note: All text will be UPPERCASE and all fields can be null**\n",
        "properties": {
          "cardBrand": {
            "type": "string",
            "example": "MASTERCARD",
            "description": "MASTERCARD, VISA, etc"
          },
          "issuer": {
            "type": "string",
            "description": "Name of issuing bank"
          },
          "type": {
            "type": "string",
            "enum": [
              "DEBIT",
              "CREDIT",
              "CHARGE_CARD",
              "CHARGE",
              "DEFERRED_DEBIT",
              "PREPAID",
              "PREPAID_RELOADABLE",
              "UNKNOWN"
            ]
          },
          "category": {
            "type": "string",
            "example": "CLASSIC",
            "description": "CLASSIC, BUSINESS, MIXED_PRODUCT, etc"
          },
          "countryIsoA2": {
            "$ref": "#/components/schemas/CountryIsoCode"
          },
          "commercial": {
            "type": "boolean",
            "description": "Indicates if the card is corporate or retail",
            "example": true
          },
          "bin": {
            "type": "string",
            "description": "The Bank Identification Number that identifies the bank or financial institution that issued the card",
            "example": "48321456",
            "pattern": "^[0-9]+$",
            "minLength": 6,
            "maxLength": 8
          }
        }
      },
      "CardExpiryDate": {
        "type": "string",
        "example": "05-25",
        "description": "Card expiry date in MM-YY format.\n"
      },
      "Fingerprint": {
        "type": "string",
        "description": "A unique token that can be used to detect if two BR-DGE tokens represent the same underlying Payment Instrument.\n",
        "example": "63c8563d876b993878e1b5506b5fc5826e9e46266daaadac018a71ed307748c6"
      },
      "FingerprintExtended": {
        "type": "string",
        "description": "A fingerprint with card expiry date appended in MMYY format.\n"
      },
      "ApplePayDetails": {
        "description": "Additional information about Apple Pay Payment Instruments.",
        "allOf": [
          {
            "$ref": "#/components/schemas/DetailsOfAssociatedCardPaymentInstrument"
          },
          {
            "type": "object",
            "description": "Decrypted Apple Pay information and card metadata\n",
            "properties": {
              "decryptedPayload": {
                "$ref": "#/components/schemas/ApplePayDecryptedPayload"
              },
              "paymentMethod": {
                "$ref": "#/components/schemas/ApplePayPaymentMethod"
              }
            }
          }
        ]
      },
      "GooglePayDetails": {
        "description": "Additional information about Google Pay Payment Instruments.",
        "allOf": [
          {
            "$ref": "#/components/schemas/DetailsOfAssociatedCardPaymentInstrument"
          },
          {
            "type": "object",
            "description": "Decrypted Google Pay information and card metadata\n",
            "properties": {
              "decryptedPayload": {
                "$ref": "#/components/schemas/GooglePayDecryptedPayload"
              }
            }
          }
        ]
      },
      "GooglePayDecryptedPayload": {
        "type": "object",
        "description": "[Google Pay decrypted payload] excluding sensitive fields, such as cryptogram\n\n[Google Pay decrypted payload]: https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography#encrypted-message\n",
        "properties": {
          "gatewayMerchantId": {
            "type": "string",
            "example": "some-merchant-id",
            "description": "Google Pay gateway merchant ID."
          },
          "messageExpiration": {
            "type": "string",
            "example": "1650574736277",
            "description": "Date and time at which the message expires as UTC milliseconds since epoch.\n"
          },
          "messageId": {
            "type": "string",
            "example": "AH2Ejtc88ZHJ-2aYBQWzHwvp6l0JsCHgxVt8s91A-ZUikaXNbcjsFm6gg9ExeVR-jzIyT-mJvA_ntvfRsDDOH2jnKMjdTtXIJvPt0NBUU45R7-gnjxkx-sI0ldcWvbDHsV0735yFDbWk",
            "description": "A unique ID that identifies the message in case it needs to be revoked or located at a later time.\n"
          },
          "paymentMethod": {
            "type": "string",
            "example": "CARD",
            "enum": [
              "CARD"
            ],
            "description": "The type of the payment credential. Currently, only CARD is supported.\n"
          },
          "paymentMethodDetails": {
            "$ref": "#/components/schemas/GooglePayDecryptedPaymentMethodDetails"
          }
        }
      },
      "GooglePayDecryptedPaymentMethodDetails": {
        "type": "object",
        "description": "The Google Pay payment credential, excluding cryptogram.",
        "properties": {
          "pan": {
            "type": "string",
            "example": "####-####-####-4444",
            "description": "The personal account number of the card that the Google Pay token relates to.\nThe value of this field depends on the value of `authMethod`.\n  - If authMethod is PAN_ONLY:\n    - This is an obfuscated PAN, where only the last 4 digits are present.\n  - If authMethod is CRYPTOGRAM_3DS:\n    - This is the full DPAN value generated by Google Pay.\n"
          },
          "expirationMonth": {
            "type": "integer",
            "example": 5,
            "description": "The expiration month of the card, where 1 represents January, 2 represents February, and so on."
          },
          "expirationYear": {
            "type": "integer",
            "example": 2025,
            "description": "The four-digit expiration year of the card, such as 2020."
          },
          "authMethod": {
            "type": "string",
            "example": "PAN_ONLY",
            "description": "The authentication method of the card transaction.",
            "enum": [
              "PAN_ONLY",
              "CRYPTOGRAM_3DS"
            ]
          },
          "eciIndicator": {
            "type": "string",
            "example": "07",
            "description": "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.\n\nPossible values: \"\"(empty), 02, 06, 05, 07\n"
          },
          "assuranceDetails": {
            "$ref": "#/components/schemas/GooglePayDecryptedAssuranceDetails"
          },
          "cardLastFour": {
            "type": "string",
            "example": "4444",
            "description": "The last four digits of the PAN"
          }
        }
      },
      "GooglePayDecryptedAssuranceDetails": {
        "type": "object",
        "description": "This object provides information about the validation performed on the returned payment data.",
        "properties": {
          "accountVerified": {
            "type": "boolean",
            "description": "If true, indicates that Cardholder possession validation has been performed on returned payment credential.\n"
          },
          "cardholderAuthenticated": {
            "type": "boolean",
            "description": "If true, indicates that identification and verifications (ID&V) was performed on the returned payment credential.\n\nIf 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.\n"
          }
        }
      },
      "ApplePayDecryptedPayload": {
        "type": "object",
        "description": "[Apple Pay decrypted payload] excluding sensitive fields, such as cryptogram\n\n[Apple Pay decrypted payload]: https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/apple_pay/payment_token_format_reference#3949536\n",
        "required": [
          "applicationPrimaryAccountNumber",
          "applicationExpirationDate",
          "currencyCode",
          "transactionAmount",
          "deviceManufacturerIdentifier",
          "paymentDataType",
          "paymentData",
          "transactionId"
        ],
        "properties": {
          "applicationPrimaryAccountNumber": {
            "type": "string",
            "example": "4818528840216497",
            "description": "Device-specific account number of the card that funds this transaction"
          },
          "applicationExpirationDate": {
            "type": "string",
            "example": "281231",
            "description": "Card expiration date in the format YYMMDD"
          },
          "currencyCode": {
            "$ref": "#/components/schemas/CurrencyCodeNumeric"
          },
          "transactionAmount": {
            "example": 100,
            "type": "integer",
            "description": "Transaction amount in the lowest denomination of the given currency"
          },
          "deviceManufacturerIdentifier": {
            "example": "040010030273",
            "type": "string",
            "description": "Hex-encoded device manufacturer identifier"
          },
          "paymentDataType": {
            "example": "3DSecure",
            "type": "string",
            "description": "Transaction type.\n\nEMV relates to POS terminal transactions. 3D-Secure relates to ecommerce transactions.\n",
            "enum": [
              "3DSecure",
              "EMV"
            ]
          },
          "paymentData": {
            "$ref": "#/components/schemas/ApplePayDecryptedPaymentData"
          },
          "transactionId": {
            "example": "31675461ec268fed0ca9699e632753447d1a1de0aa65170e049033d7a801d3f3",
            "type": "string",
            "description": "Transaction identifier, generated on the device.\n\nRetrieved from [header] of decoded Apple Pay token.\n\n[header]: https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/apple_pay/payment_token_format_reference#3949539\n"
          },
          "cardholderName": {
            "type": "string",
            "example": "John Doe",
            "description": "Optional field containing cardholder's name if present"
          }
        }
      },
      "ApplePayDecryptedPaymentData": {
        "type": "object",
        "description": "Detailed payment data, excluding cryptogram",
        "properties": {
          "eciIndicator": {
            "type": "integer",
            "example": 7,
            "description": "Optional. ECI indicator, as defined by 3D-Secure.\n\nThe card network may add an ECI indicator to the payment data that the payment token includes.\n"
          }
        }
      },
      "ApplePayPaymentMethod": {
        "type": "object",
        "description": "Details from the `paymentMethod` section of the ApplePay token",
        "properties": {
          "displayName": {
            "type": "string",
            "example": "MasterCard 0839"
          },
          "network": {
            "type": "string",
            "example": "MasterCard"
          },
          "type": {
            "type": "string",
            "example": "credit"
          }
        }
      },
      "ClickToPayDetails": {
        "description": "Additional information about Click to Pay Payment Instruments.",
        "allOf": [
          {
            "$ref": "#/components/schemas/DetailsOfAssociatedCardPaymentInstrument"
          },
          {
            "type": "object",
            "description": "Decrypted Apple Pay information and card metadata\n",
            "properties": {
              "payload": {
                "$ref": "#/components/schemas/ClickToPayPayload"
              }
            }
          }
        ]
      },
      "ClickToPayPayload": {
        "type": "object",
        "description": "The Click to Pay payload contains the decrypted payload information as well as ECI indicator via the `assuranceData` object.\n",
        "properties": {
          "assuranceData": {
            "type": "object",
            "description": "The assurance data object contains the ECI indicator used in the payment.\n",
            "properties": {
              "eci": {
                "type": "string",
                "description": "The ECI indicator for the Click to Pay payment.\n"
              }
            }
          },
          "decryptedPayload": {
            "type": "object",
            "description": "The payload decrypted from the Click to Pay token used in the payment.\n",
            "properties": {
              "token": {
                "type": "object",
                "description": "The decrypted Click to Pay network token.\n",
                "properties": {
                  "paymentToken": {
                    "type": "string",
                    "description": "The DPAN from the decrypted Click to Pay network token.\n",
                    "example": "4123123412341234"
                  },
                  "tokenExpirationMonth": {
                    "type": "string",
                    "description": "The expiration month from the decrypted Click to Pay network token.\n",
                    "example": "11"
                  },
                  "tokenExpirationYear": {
                    "type": "string",
                    "description": "The expiration year from the decrypted Click to Pay network token.\n",
                    "example": "2027"
                  },
                  "paymentAccountReference": {
                    "type": "string",
                    "description": "The payment account reference (PAR) from the decrypted Click to Pay network token.\n",
                    "example": "PAR0987654321"
                  }
                }
              },
              "billingAddress": {
                "type": "object",
                "description": "The billing address within the Click to Pay payment.\n",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "John Doe"
                  },
                  "line1": {
                    "type": "string",
                    "example": "123 Test Town"
                  },
                  "line2": {
                    "type": "string",
                    "example": "Stanhope House"
                  },
                  "line3": {
                    "type": "string",
                    "example": "Haymarket"
                  },
                  "city": {
                    "type": "string",
                    "example": "Edinburgh"
                  },
                  "state": {
                    "type": "string",
                    "example": "Scotland"
                  },
                  "zip": {
                    "type": "string",
                    "example": "TE12ST"
                  },
                  "countryCode": {
                    "type": "string",
                    "example": "GB"
                  }
                }
              },
              "consumerFullName": {
                "type": "string",
                "description": "The full name of the customer from the decrypted Click to Pay token.\n",
                "example": "John Doe"
              },
              "consumerFirstName": {
                "type": "string",
                "description": "The first name of the customer from the decrypted Click to Pay token.\n",
                "example": "John"
              },
              "consumerLastName": {
                "type": "string",
                "description": "The last name of the customer from the decrypted Click to Pay token.\n",
                "example": "Doe"
              },
              "dynamicData": {
                "type": "array",
                "description": "The dynamic data array contains information such as the network token cryptogram to go with the DPAN.\n",
                "items": {
                  "type": "object",
                  "properties": {
                    "dynamicDataValue": {
                      "type": "string"
                    },
                    "dynamicDataType": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CountryIsoCode": {
        "type": "string",
        "description": "ISO 3166 Alpha-2 Country code",
        "example": "GB",
        "minLength": 2,
        "maxLength": 2,
        "pattern": "^[A-Z]+$"
      },
      "DateOfBirth": {
        "description": "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).\n",
        "type": "string",
        "format": "date",
        "example": "2024-02-24"
      },
      "PayoutStatusResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionStatusBase"
          },
          {
            "type": "object",
            "required": [
              "status",
              "paymentInstrument",
              "amount",
              "currencyCode"
            ],
            "properties": {
              "status": {
                "$ref": "#/components/schemas/PayoutStatus"
              },
              "paymentInstrument": {
                "$ref": "#/components/schemas/PayoutStatusPaymentInstrument"
              },
              "payoutEligibility": {
                "$ref": "#/components/schemas/PayoutEligibility"
              },
              "reference": {
                "type": "string",
                "description": "Merchant provided reference for this payout\n",
                "example": "payment-abc"
              },
              "riskAssessments": {
                "$ref": "#/components/schemas/PayoutRiskAssessments"
              },
              "cashierId": {
                "$ref": "#/components/schemas/CashierId"
              },
              "customMetadata": {
                "$ref": "#/components/schemas/CustomMetadata"
              },
              "keyIdentifiers": {
                "$ref": "#/components/schemas/KeyIdentifiers"
              },
              "amount": {
                "title": "amount",
                "type": "integer",
                "format": "int64",
                "minimum": 0,
                "maximum": 999999999999999,
                "example": 1234,
                "description": "The amount provided in the initial request.\nThis will be in the lowest denomination of the currency.\nThis means that `1234` in GBP represents `£12.34`.\n"
              },
              "currencyCode": {
                "$ref": "#/components/schemas/CurrencyCode"
              },
              "recipient": {
                "$ref": "#/components/schemas/GetPayoutResponseRecipient"
              },
              "blockingRule": {
                "$ref": "#/components/schemas/BlockingRule"
              }
            }
          }
        ]
      },
      "GetPayoutResponseRecipient": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address of the customer.",
            "minLength": 1,
            "maxLength": 254,
            "pattern": "^$|^[a-zA-Z0-9._%'+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
            "example": "john.smith@example.com"
          },
          "phoneNumber": {
            "$ref": "#/components/schemas/PhoneNumber"
          }
        }
      },
      "PayPalAccountId": {
        "type": "string",
        "description": "PayPal Account ID of the customer.",
        "maxLength": 255,
        "example": "G83JXTJ5EHCQ2"
      },
      "PaymentSource": {
        "type": "object",
        "description": "Details of the PayPal account used to complete the payment for the PayPal Order.",
        "properties": {
          "name": {
            "type": "string",
            "example": "John Smith",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^([\\p{L}\\p{M} 0-9'\\[\\]()@?!\\-/.,_&*:;+=\\r\\n]*)$",
            "description": "Full name of customer."
          },
          "email": {
            "type": "string",
            "description": "Email address of the customer.",
            "minLength": 1,
            "maxLength": 254,
            "pattern": "^$|^[a-zA-Z0-9._%'+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
            "example": "john.smith@example.com"
          },
          "accountId": {
            "type": "string",
            "example": "QYR5Z8XDVJNXQ",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^([\\p{L}\\p{M} 0-9'\\[\\]()@?!\\-/.,_&*:;+=\\r\\n]*)$",
            "description": "PayPal account ID."
          },
          "vaultId": {
            "$ref": "#/components/schemas/VaultId"
          }
        }
      },
      "VaultId": {
        "type": "string",
        "example": "0tb28273r6584005e",
        "minLength": 1,
        "maxLength": 255,
        "description": "Vault ID generated by PayPal referring to the customer's stored PayPal wallet."
      },
      "CustomMetadata": {
        "title": "Custom Metadata for the transaction.",
        "description": "Optional custom metadata string fields for the transaction.\n\nUp to 25 fields can be included with the following constraints:\n\nThe 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 \"'\".\n\nMaximum string length of either field name and field value is 200 chars.\n",
        "type": "object",
        "additionalProperties": {
          "type": "string",
          "maxLength": 200,
          "nullable": false
        },
        "maxProperties": 25,
        "example": {
          "accountAge": "2",
          "transactionType": "Other"
        }
      },
      "BuildingNumberOrName": {
        "description": "The building number or name.\n\nProviding a building number or name separate from `address1` is recommended as\nsome payment service provider (PSP) APIs have a separate field.\n\nIf you are unsure whether you need to collect this data, please raise a\nticket with support on the BR-DGE Support Portal at\n<https://docs.br-dge.io/docs/support#contact-support>.\n\nPlease use only letters, spaces and these symbols: `-'.`",
        "type": "string",
        "maxLength": 100,
        "example": "10a"
      },
      "AddressLineOne": {
        "description": "First line of the address.\n\nPlease use only letters, numbers, spaces and these symbols: `'[]()@?!\\-/.,_&*:;+=`",
        "type": "string",
        "minLength": 1,
        "maxLength": 255,
        "example": "Flat 1"
      },
      "AddressLineTwo": {
        "description": "Second line of the address.\n\nPlease use only letters, numbers, spaces and these symbols: `'[]()@?!\\-/.,_&*:;+=`",
        "type": "string",
        "maxLength": 255,
        "example": "Victoria House"
      },
      "AddressLineThree": {
        "description": "Third line of the address.\n\nPlease use only letters, numbers, spaces and these symbols: `'[]()@?!\\-/.,_&*:;+=`",
        "type": "string",
        "maxLength": 255,
        "example": "15 Apple Street"
      },
      "Town": {
        "description": "Town of the address.\n\nPlease use only letters, numbers, spaces and these symbols: `'[]()@?!\\-/.,_&*:;+=`",
        "type": "string",
        "minLength": 1,
        "maxLength": 255,
        "example": "Edinburgh"
      },
      "County": {
        "description": "County of the address.\n\nPlease use only letters, numbers, spaces and these symbols: `'[]()@?!\\-/.,_&*:;+=`",
        "type": "string",
        "maxLength": 255,
        "example": "Lothian"
      },
      "Postcode": {
        "description": "Postcode of the address.\n\nPlease use at least one and no more than 9 alphanumeric characters (excl. spaces).",
        "type": "string",
        "maxLength": 255,
        "example": "BH23 6AA"
      },
      "PhoneNumber": {
        "maxLength": 255,
        "pattern": "^$|^[+]?[(0-9][0-9 ()-]*[0-9]$",
        "type": "string",
        "description": "Telephone number of the occupant\nPlease use only numbers, spaces and an optional leading +.",
        "example": "+44 123 1110000"
      },
      "BlockingRule": {
        "description": "The routing rule which resulted in the transaction being blocked.",
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "description": "The name of the rule",
            "type": "string"
          }
        }
      },
      "MerchantTransactionId": {
        "type": "string",
        "description": "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`.\n\nThe merchantTransactionId is a contract between BR-DGE and a merchant. This field will not be mapped downstream to any PSP.\n\nIn 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.",
        "example": "yourUniqueRequestId",
        "minLength": 1,
        "maxLength": 50
      },
      "CustomerId": {
        "title": "Customer ID",
        "description": "The ID of the customer in your system.\n\nPlease use only letters, numbers, spaces and these symbols: `'[]()@?!\\-/.,_&*:;+=`\n",
        "type": "string",
        "maxLength": 255,
        "example": "Customer001"
      },
      "PspName": {
        "description": "Name of Payment Service Provider (PSPs).\n\nPlease see [PSP Integrations] for a list of possible PSPs.\n\n[PSP Integrations]: https://docs.br-dge.io/docs/psp-integrations\n",
        "type": "string",
        "pattern": "^[A-Za-z0-9\\- ().]*$",
        "maxLength": 50,
        "example": "Checkout.com"
      },
      "IpAddress": {
        "pattern": "^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|::(ffff(:0{1,4})?:)?((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))$",
        "type": "string",
        "description": "IP address of the customer (IPv4 or IPv6)",
        "example": "123.100.100.200"
      },
      "PaysafecardAdditionalInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema."
          },
          "customerFirstName": {
            "type": "string",
            "description": "Customer's first name",
            "example": "John"
          },
          "customerLastName": {
            "type": "string",
            "description": "Customer's last name",
            "example": "Smith"
          },
          "customerDateOfBirth": {
            "type": "string",
            "format": "date",
            "description": "Customer's date of birth",
            "example": "2000-01-01"
          },
          "customerIpAddress": {
            "$ref": "#/components/schemas/IpAddress"
          },
          "customerId": {
            "type": "string",
            "description": "The ID of the customer in your system.",
            "example": "de5d7b4a-9410-40e1-85fd-8ceee23c9fd0"
          },
          "paysafecardCustomerId": {
            "type": "string",
            "description": "Paysafecard identifier for the customer",
            "example": "151743187547"
          }
        }
      },
      "EasyPayAdditionalInfo": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.",
                "example": "EasyPay"
              },
              "customerPaymentOptionId": {
                "type": "string",
                "description": "Identifier for the customer Payment Option",
                "example": "6418da68-0b3d-4409-ab14-1ceb752b0b1f"
              }
            }
          }
        ]
      },
      "ePayBgAdditionalInfo": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema.",
                "example": "ePay.bg"
              },
              "customerPaymentOptionId": {
                "type": "string",
                "description": "Identifier for the customer Payment Option",
                "example": "6418da68-0b3d-4409-ab14-1ceb752b0b1f"
              }
            }
          }
        ]
      },
      "TrueLayerCustomer": {
        "type": "object",
        "description": "Contains TrueLayer customer information.\n",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "dateOfBirth": {
            "$ref": "#/components/schemas/DateOfBirth"
          },
          "customerId": {
            "type": "string",
            "description": "The ID of the customer in TrueLayer's system",
            "example": "de5d7b4a-9410-40e1-85fd-8ceee23c9fd0"
          },
          "name": {
            "type": "string",
            "description": "Customer's full name",
            "example": "John Smith"
          }
        }
      },
      "AccountNumber": {
        "type": "string",
        "description": "8 digit bank account number.",
        "example": "26207729",
        "pattern": "^[0-9]{8}$"
      },
      "SortCode": {
        "type": "string",
        "description": "6 digit sort code (no spaces or dashes).",
        "example": "400040",
        "pattern": "^[0-9]{6}$"
      },
      "Iban": {
        "type": "string",
        "description": "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).\n",
        "example": "GB32CLRB04066800012315",
        "minLength": 15,
        "maxLength": 34,
        "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$"
      },
      "TrueLayerAdditionalInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema."
          },
          "customer": {
            "$ref": "#/components/schemas/TrueLayerCustomer"
          },
          "providerId": {
            "type": "string",
            "description": "ID of the bank or other financial institution used in this payment in TrueLayer's system",
            "example": "mock-payments-gb-redirect"
          },
          "paymentSourceId": {
            "type": "string",
            "description": "ID of the customer's payment source used to perform the payment in TrueLayer's system",
            "example": "1f111d3c-9427-43be-1111-1111219d111c"
          },
          "originalTransactionId": {
            "type": "string"
          },
          "accountNumber": {
            "$ref": "#/components/schemas/AccountNumber"
          },
          "sortCode": {
            "$ref": "#/components/schemas/SortCode"
          },
          "iban": {
            "$ref": "#/components/schemas/Iban"
          }
        }
      },
      "RevolutFingerprint": {
        "type": "string",
        "minLength": 44,
        "maxLength": 44,
        "description": "The fingerprint associated to the authorized order's payment method",
        "example": "AoJYD3lVDidRE9RyUHDGmKakQ8lpDnSMtRFUjqyLzZU="
      },
      "RevolutPayBillingAddress": {
        "type": "object",
        "properties": {
          "street_line_1": {
            "type": "string",
            "maxLength": 100,
            "description": "First line of street address information for Revolut customer."
          },
          "street_line_2": {
            "type": "string",
            "maxLength": 100,
            "description": "Second line of street address information for Revolut customer.."
          },
          "region": {
            "type": "string",
            "maxLength": 100,
            "description": "The region associated with the address."
          },
          "city": {
            "type": "string",
            "maxLength": 100,
            "description": "The region associated with the address."
          },
          "country_code": {
            "type": "string",
            "maxLength": 2,
            "description": "2 letter country code of the country associated with the address."
          },
          "postcode": {
            "type": "string",
            "maxLength": 100,
            "description": "The postcode associated with the address."
          }
        }
      },
      "RevolutPayAdditionalInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema."
          },
          "fingerprint": {
            "$ref": "#/components/schemas/RevolutFingerprint"
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "description": "The name of the revolut customer.",
            "example": "Jimmy McShuggle"
          },
          "emailAddress": {
            "type": "string",
            "minLength": 2,
            "description": "The email address of the revolut customer",
            "example": "jim@test.com"
          },
          "paymentRevTag": {
            "type": "string",
            "minLength": 2,
            "description": "Unique handle for a Revolut customer.",
            "example": "xyzed7xn"
          },
          "revolutCustomerId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the revolut customer.",
            "example": "44773429-8b07-4973-b9de-3d308e86b955"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/RevolutPayBillingAddress"
          }
        }
      },
      "PayPalAdditionalInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema."
          },
          "vaultId": {
            "$ref": "#/components/schemas/VaultId"
          },
          "paymentSource": {
            "$ref": "#/components/schemas/PaymentSource"
          }
        }
      },
      "OttPayoutsAdditionalInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field. Please see the discriminator mapping for the `AdditionalInfo` schema."
          },
          "pin": {
            "type": "string",
            "description": "voucher pin",
            "maxLength": 12,
            "pattern": "^[0-9]*$",
            "example": "464828964739"
          },
          "serialNumber": {
            "type": "string",
            "description": "voucher serial number",
            "maxLength": 12,
            "pattern": "^[0-9]*$",
            "example": "300003849616"
          }
        }
      },
      "AdditionalInfo": {
        "type": "object",
        "description": "Any additional information returned from interaction with PSP",
        "oneOf": [
          {
            "$ref": "#/components/schemas/PaysafecardAdditionalInfo"
          },
          {
            "$ref": "#/components/schemas/EasyPayAdditionalInfo"
          },
          {
            "$ref": "#/components/schemas/ePayBgAdditionalInfo"
          },
          {
            "$ref": "#/components/schemas/TrueLayerAdditionalInfo"
          },
          {
            "$ref": "#/components/schemas/RevolutPayAdditionalInfo"
          },
          {
            "$ref": "#/components/schemas/PayPalAdditionalInfo"
          },
          {
            "$ref": "#/components/schemas/OttPayoutsAdditionalInfo"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "paysafecard": "#/components/schemas/PaysafecardAdditionalInfo",
            "EasyPay": "#/components/schemas/EasyPayAdditionalInfo",
            "ePayBg": "#/components/schemas/ePayBgAdditionalInfo",
            "truelayer": "#/components/schemas/TrueLayerAdditionalInfo",
            "revolutPay": "#/components/schemas/RevolutPayAdditionalInfo",
            "payPal": "#/components/schemas/PayPalAdditionalInfo",
            "ottPayout": "#/components/schemas/OttPayoutsAdditionalInfo"
          }
        }
      },
      "RawResponse": {
        "description": "Contains a single http response.\n",
        "type": "object",
        "properties": {
          "httpStatusCode": {
            "description": "The http response code for the given call to the external system\n",
            "type": "integer",
            "example": 200
          },
          "body": {
            "description": "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`\n",
            "type": "string"
          }
        }
      },
      "RawPspResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RawResponse"
          },
          {
            "description": "Contains a single http response from the PSP the transaction was routed to\n",
            "type": "object",
            "required": [
              "pspName"
            ],
            "properties": {
              "pspName": {
                "description": "The name of the PSP providing the raw response.\n",
                "$ref": "#/components/schemas/PspName"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": "A key/value map of the http headers from the external system.",
                "example": {
                  "content-type": [
                    "application/json"
                  ]
                }
              }
            }
          }
        ]
      },
      "PspInfo": {
        "type": "object",
        "required": [
          "name",
          "transactionId"
        ],
        "properties": {
          "name": {
            "description": "The PSP this payment was routed to.",
            "$ref": "#/components/schemas/PspName"
          },
          "transactionId": {
            "type": "string",
            "description": "Identifier provided by the PSP this payment was routed to.\n",
            "example": "6418da68-0b3d-4409-ab14-1ceb752b0b1f"
          },
          "switchAccountId": {
            "type": "string",
            "description": "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.\nPlease note: PSP account switching feature is still under development and this field is not present in GET responses and notifications yet.\n",
            "minLength": 1,
            "maxLength": 255,
            "example": "switch-account-123"
          },
          "pspToken": {
            "type": "string",
            "description": "The token created by the PSP for the payment instrument.\n"
          },
          "pspCardFingerprint": {
            "type": "string",
            "description": "The PSP fingerprint for the payment instrument.\n"
          },
          "provisionedUserId": {
            "type": "string",
            "description": "PSP-specific user ID that was provisioned by the PSP when processing the payment.\n",
            "example": "Vx0H4pdAtPCz"
          },
          "additionalInfo": {
            "$ref": "#/components/schemas/AdditionalInfo"
          },
          "rawPspResponses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/RawPspResponse"
            }
          },
          "paymentAccountReference": {
            "type": "string",
            "description": "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."
          }
        }
      },
      "CurrencyCodeNumeric": {
        "example": "826",
        "type": "string",
        "description": "ISO 4217 numeric currency code, as a string to preserve leading zeros"
      },
      "CashierId": {
        "title": "Cashier ID",
        "type": "string",
        "description": "For use by BR-DGE Cashier to link the transaction to a particular Cashier instance.",
        "example": "90e7aff7-7e57-459a-a46e-9258c8abc99b"
      },
      "CurrencyCode": {
        "type": "string",
        "description": "Currency code of the payment (ISO 4217)",
        "example": "GBP"
      },
      "ComcardeResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "[Response Code](https://docs.br-dge.io/docs/response-codes) signifying the outcome of the request.",
            "example": "1000"
          },
          "message": {
            "type": "string",
            "description": "A description of the outcome of the request."
          },
          "id": {
            "type": "string",
            "description": "The ID of this request. If you can include these when querying the outcome of individual requests, we can track down the root cause faster.\n",
            "example": "463ac35c9f6413ad48485a3953bb6124"
          }
        }
      },
      "ErrorResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ComcardeResponse"
          },
          {
            "type": "object",
            "properties": {
              "validationErrors": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "An object that contains validation errors."
              }
            }
          }
        ]
      },
      "CustomerIdentifiers": {
        "type": "object",
        "properties": {
          "customerId": {
            "$ref": "#/components/schemas/CustomerId"
          }
        }
      },
      "KeyIdentifierId": {
        "type": "string",
        "description": "A unique id for a specific identifier, used in other operations to perform actions on the identifier.",
        "format": "uuid",
        "example": "dbc8231e-6b85-4955-93ce-938e25ad2f7a"
      },
      "KeyIdentifierValue": {
        "type": "string",
        "description": "The contents of a key identifier."
      },
      "GooglePay3DSCryptogramKeyIdentifiers": {
        "title": "Google Pay 3DS_CRYPTOGRAM Key Identifiers",
        "description": "Key identifiers for the 3DS_CRYPTOGRAM GooglePay payment instrument.",
        "type": "object",
        "required": [
          "type",
          "dpan"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field."
          },
          "dpan": {
            "type": "object",
            "description": "The DPAN (Device Primary Account Number) of the payment instrument.",
            "properties": {
              "id": {
                "$ref": "#/components/schemas/KeyIdentifierId"
              },
              "value": {
                "$ref": "#/components/schemas/KeyIdentifierValue"
              }
            }
          }
        }
      },
      "GooglePayPanOnlyKeyIdentifiers": {
        "title": "Google Pay PAN_ONLY Key Identifiers",
        "description": "Key identifiers for the PAN_ONLY GooglePay payment instrument.",
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field."
          }
        }
      },
      "RevolutPayKeyIdentifiers": {
        "title": "Revolut Pay Key Identifiers",
        "description": "Key identifiers for the Revolut Pay payment instrument.",
        "type": "object",
        "required": [
          "type",
          "fingerprint"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field."
          },
          "fingerprint": {
            "type": "object",
            "description": "A unique identifier for a payment method with Revolut Pay.",
            "properties": {
              "id": {
                "$ref": "#/components/schemas/KeyIdentifierId"
              },
              "value": {
                "$ref": "#/components/schemas/KeyIdentifierValue"
              }
            }
          }
        }
      },
      "PayPalKeyIdentifiers": {
        "title": "PayPal Key Identifiers",
        "description": "Key identifiers for the PayPal payment instrument.",
        "type": "object",
        "required": [
          "type",
          "accountId"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field."
          },
          "accountId": {
            "type": "object",
            "description": "A unique identifier for a payment method with PayPal.",
            "properties": {
              "id": {
                "$ref": "#/components/schemas/KeyIdentifierId"
              },
              "value": {
                "$ref": "#/components/schemas/KeyIdentifierValue"
              }
            }
          }
        }
      },
      "GenericKeyIdentifiers": {
        "title": "Generic Key Identifiers",
        "description": "Key Identifiers for all other payment instruments.",
        "type": "object",
        "required": [
          "type",
          "keyIdentifier"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator field."
          },
          "keyIdentifier": {
            "type": "object",
            "description": "A unique identifier for a payment method.",
            "properties": {
              "id": {
                "$ref": "#/components/schemas/KeyIdentifierId"
              },
              "value": {
                "$ref": "#/components/schemas/KeyIdentifierValue"
              }
            }
          }
        }
      },
      "PaymentInstrumentIdentifiers": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/GooglePay3DSCryptogramKeyIdentifiers"
          },
          {
            "$ref": "#/components/schemas/GooglePayPanOnlyKeyIdentifiers"
          },
          {
            "$ref": "#/components/schemas/RevolutPayKeyIdentifiers"
          },
          {
            "$ref": "#/components/schemas/PayPalKeyIdentifiers"
          },
          {
            "$ref": "#/components/schemas/GenericKeyIdentifiers"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "3DS_CRYPTOGRAM": "#/components/schemas/GooglePay3DSCryptogramKeyIdentifiers",
            "PAN_ONLY": "#/components/schemas/GooglePayPanOnlyKeyIdentifiers",
            "REVOLUT_PAY": "#/components/schemas/RevolutPayKeyIdentifiers",
            "PAYPAL_ACCOUNT": "#/components/schemas/PayPalKeyIdentifiers",
            "OTHER": "#/components/schemas/GenericKeyIdentifiers"
          }
        }
      },
      "KeyIdentifiers": {
        "type": "object",
        "description": "The associated key identifiers used during the transaction identifying the instrument and customer.",
        "properties": {
          "customerIdentifiers": {
            "$ref": "#/components/schemas/CustomerIdentifiers"
          },
          "paymentInstrumentIdentifiers": {
            "$ref": "#/components/schemas/PaymentInstrumentIdentifiers"
          }
        }
      },
      "PayoutStatus": {
        "type": "string",
        "description": "Status of the payout. See [Transaction Statuses](https://docs.br-dge.io/docs/transaction-statuses)  for further detail.\n",
        "example": "APPROVED",
        "enum": [
          "PENDING",
          "APPROVED",
          "DECLINED",
          "REJECTED",
          "HELD",
          "CANCELLED",
          "BLOCKED",
          "UNKNOWN"
        ]
      }
    },
    "parameters": {
      "pathPaymentId": {
        "name": "paymentId",
        "in": "path",
        "description": "The unique identifier for the payment.\n\nThis can be sourced from the `paymentId` field in the response we sent to you when creating the payment or payout.\n",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
        }
      }
    },
    "securitySchemes": {
      "ServerApiKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Operations intended for use by Merchant servers.\n\n**IMPORTANT** This key allows you to perform sensitive operations such as authorizing payments and refunds.\n\n**Production Server API keys must not be accessible outside your organization.**\n"
      }
    },
    "examples": {
      "entity-not-found": {
        "summary": "Entity Not Found Error",
        "description": "This example shows the [4040 error code].\nThis occurs when an entity was not found for a given ID, the entity should be clear from context.\nA full list of possible response codes is available [here].\n\n[4040 error code]: https://docs.br-dge.io/docs/response-codes#4040\n[here]: https://docs.br-dge.io/docs/response-codes\n",
        "value": {
          "code": "4040",
          "message": "Entity not found",
          "id": "4fad8e2e06a15656"
        }
      }
    },
    "responses": {
      "UnauthorizedRequest": {
        "description": "Unauthorized request."
      },
      "UnknownServerError": {
        "description": "An internal server error occurred upstream while processing the request.\nIf 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://docs.br-dge.io/docs/support#contact-support> with the ID from the response so we track down the individual requests on our end.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "Internal server error": {
                "description": "This example shows the [5001 error code].\n\nA full list of possible response codes is available [here].\n\n[5001 error code]: https://docs.br-dge.io/docs/response-codes#5001\n[here]: https://docs.br-dge.io/docs/response-codes\n",
                "value": {
                  "code": "5001",
                  "message": "Unexpected error",
                  "id": "4fad8e2e06a15656"
                }
              }
            }
          }
        }
      },
      "EntityNotFound": {
        "description": "The specified entity was not found.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "entity-not-found": {
                "$ref": "#/components/examples/entity-not-found"
              }
            }
          }
        }
      }
    }
  }
}
```