{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/barclays/main/json-schema/barclays-get-payment-details-response-schema.json",
  "title": "get_payment-details_response",
  "description": "Payment Id response",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/barclays-payments-api-openapi.yml#/components/schemas/get_payment-details_response",
  "type": "object",
  "properties": {
    "chargeBearer": {
      "type": "string",
      "description": "Charge Bearer. Valid values for Charge Bearer are:\n - DEBT: All transaction charges are to be borne by the debtor.\n - CRED: All transaction charges are to be borne by the creditor.\n - SHAR: Transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor.\n - SLEV: Transaction charges are to be applied following the rules agreed in the service level and/or scheme.\n",
      "enum": [
        "DEBT",
        "CRED",
        "SHAR",
        "SLEV"
      ]
    },
    "debtorAccount": {
      "type": "object",
      "description": "Debtor Account",
      "properties": {
        "bban": {
          "type": "string",
          "description": "Basic Bank Account Number (BBAN) Identifier. This data elements is used for payment Accounts which have no IBAN. ISO20022\":\" Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer.",
          "maxLength": 30,
          "minLength": 1,
          "pattern": "^(?!\\s)[a-zA-Z0-9]{1,30}$"
        },
        "iban": {
          "type": "string",
          "description": "IBAN of an account",
          "maxLength": 34,
          "minLength": 5,
          "pattern": "^(?!\\s)[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
        },
        "currency": {
          "type": "string",
          "description": "Currency of the account",
          "maxLength": 3,
          "minLength": 3,
          "pattern": "^[A-Z]{3,3}$"
        }
      }
    },
    "creditorAddress": {
      "type": "object",
      "description": "Creditor's address",
      "properties": {
        "country": {
          "type": "string",
          "description": "Country",
          "maxLength": 2,
          "minLength": 2,
          "pattern": "^[A-Z]{2}$"
        },
        "streetName": {
          "type": "string",
          "description": "Street name",
          "maxLength": 70,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,70})$"
        },
        "townName": {
          "type": "string",
          "description": "City name",
          "maxLength": 100,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,100})$"
        },
        "city": {
          "type": "string",
          "description": "This field is no longer used. From BG v1.3.6 the new field name is \"townName\".",
          "maxLength": 100,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,100})$"
        },
        "street": {
          "type": "string",
          "description": "This field is no longer used. From BG v1.3.6 the new field name is \"streetName\".",
          "maxLength": 70,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,70})$"
        },
        "postalCode": {
          "type": "string",
          "description": "This field is no longer used. From BG v1.3.6 the new field name is \"postCode\".",
          "maxLength": 10,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,10})$"
        },
        "buildingNumber": {
          "type": "string",
          "description": "Building Number",
          "maxLength": 10,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,10})$"
        },
        "postCode": {
          "type": "string",
          "description": "Post code",
          "maxLength": 10,
          "minLength": 1,
          "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,10})$"
        }
      },
      "required": [
        "country"
      ]
    },
    "requestedExecutionDate": {
      "type": "string",
      "format": "date",
      "description": "If contained, the payment will be executed at the addressed date."
    },
    "creditorName": {
      "type": "string",
      "description": "Creditor Name",
      "maxLength": 70,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,70})$"
    },
    "creditorAgent": {
      "type": "string",
      "description": "BICFI code of Creditor Agent\nIMPORTANT: Creditor Agent is mandatory for Target-2 Payments and Cross-Border Credit Transfers!\n",
      "maxLength": 11,
      "minLength": 8,
      "pattern": "^(?!\\s)[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$"
    },
    "creditorAccount": {
      "type": "object",
      "description": "Account details for Creditor",
      "properties": {
        "bban": {
          "type": "string",
          "description": "Basic Bank Account Number (BBAN) Identifier. This data elements is used for payment Accounts which have no IBAN. ISO20022\":\" Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer.",
          "maxLength": 30,
          "minLength": 1,
          "pattern": "^(?!\\s)[a-zA-Z0-9]{1,30}$"
        },
        "iban": {
          "type": "string",
          "description": "IBAN of an account",
          "maxLength": 34,
          "minLength": 5,
          "pattern": "^(?!\\s)[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
        },
        "currency": {
          "type": "string",
          "description": "Currency of the account",
          "maxLength": 3,
          "minLength": 3,
          "pattern": "^[A-Z]{3,3}$"
        }
      }
    },
    "instructedAmount": {
      "type": "object",
      "description": "Instructed Amount of Payment",
      "properties": {
        "amount": {
          "type": "string",
          "description": "The monetary value of the amount.",
          "maxLength": 19,
          "minLength": 1,
          "pattern": "^(?!\\s)-?[0-9]{1,14}(\\.[0-9]{1,3})?$"
        },
        "currency": {
          "type": "string",
          "description": "The currency code in 3 characters ISO format.",
          "maxLength": 3,
          "minLength": 3,
          "pattern": "^[A-Z]{3,3}$"
        }
      },
      "required": [
        "amount",
        "currency"
      ]
    },
    "debtorName": {
      "type": "string",
      "description": "The name of the debtor account owner",
      "maxLength": 70,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,70})$"
    },
    "remittanceInformationUnstructured": {
      "type": "string",
      "description": "Unstructured remittance information",
      "maxLength": 140,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,140})$"
    },
    "endToEndIdentification": {
      "type": "string",
      "description": "E2E identification",
      "maxLength": 35,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,35})$"
    }
  },
  "required": [
    "creditorAccount",
    "creditorName",
    "instructedAmount"
  ]
}