{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/swift/json-schema/swift-payment-status-request9-schema.json",
  "title": "PaymentStatusRequest9",
  "description": "Contains the parameters that allow to update an existing payment.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/swift-gpi-payment-status-cct-api-openapi.yml#/components/schemas/PaymentStatusRequest9",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "from": {
      "$ref": "#/$defs/BICFIDec2014Identifier"
    },
    "transaction_status": {
      "$ref": "#/$defs/TransactionIndividualStatus5Code"
    },
    "transaction_status_date": {
      "$ref": "#/$defs/ISONoLocalDateTime"
    },
    "transaction_status_reason": {
      "$ref": "#/$defs/PaymentStatusReason10Code"
    },
    "reject_return_reason": {
      "$ref": "#/$defs/TrackerPaymentStatusReason3Code"
    },
    "tracker_informing_party": {
      "$ref": "#/$defs/BICFIDec2014Identifier"
    },
    "instruction_identification": {
      "$ref": "#/$defs/RestrictedFINXMax35Text"
    },
    "service_level": {
      "$ref": "#/$defs/BusinessService12Code"
    },
    "payment_scenario": {
      "$ref": "#/$defs/PaymentScenario6Code"
    },
    "settlement_method": {
      "$ref": "#/$defs/SettlementMethod1Code"
    },
    "clearing_system": {
      "$ref": "#/$defs/ExternalCashClearingSystem1Code"
    },
    "instructed_agent": {
      "$ref": "#/$defs/FinancialInstitutionIdentification12Choice"
    },
    "interbank_settlement_amount": {
      "$ref": "#/$defs/ActiveCurrencyAndAmount"
    },
    "source_currency": {
      "$ref": "#/$defs/ActiveCurrencyCode"
    },
    "target_currency": {
      "$ref": "#/$defs/ActiveCurrencyCode"
    },
    "exchange_rate": {
      "$ref": "#/$defs/BaseOneRate"
    },
    "charge_bearer": {
      "$ref": "#/$defs/ChargeBearerType3Code"
    },
    "charges_information": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Charges15"
      }
    },
    "confirmed_date": {
      "$ref": "#/$defs/ISONoLocalDateTime"
    },
    "confirmed_amount": {
      "$ref": "#/$defs/ActiveCurrencyAndAmount"
    },
    "remaining_to_be_confirmed_amount": {
      "$ref": "#/$defs/ActiveCurrencyAndAmount"
    },
    "previously_confirmed_amount": {
      "$ref": "#/$defs/ActiveCurrencyAndAmount"
    }
  },
  "required": [
    "from",
    "transaction_status",
    "tracker_informing_party",
    "instruction_identification",
    "service_level",
    "payment_scenario"
  ],
  "$defs": {
    "ActiveCurrencyAndAmount": {
      "type": "object",
      "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
      "additionalProperties": false,
      "properties": {
        "currency": {
          "$ref": "#/$defs/ActiveCurrencyCode"
        },
        "amount": {
          "type": "string",
          "maxLength": 19,
          "pattern": "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$"
        }
      },
      "required": [
        "currency",
        "amount"
      ]
    },
    "ActiveCurrencyCode": {
      "type": "string",
      "pattern": "^[A-Z]{3,3}$",
      "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"."
    },
    "BICFIDec2014Identifier": {
      "type": "string",
      "description": "Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".",
      "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
    },
    "BaseOneRate": {
      "type": "string",
      "description": "Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.",
      "maxLength": 12
    },
    "BranchAndFinancialInstitutionIdentification1Choice": {
      "type": "object",
      "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.",
      "additionalProperties": true,
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "bicfi": {
              "$ref": "#/$defs/BICFIDec2014Identifier"
            }
          },
          "required": [
            "bicfi"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "name": {
              "$ref": "#/$defs/Max140Text"
            }
          },
          "required": [
            "name"
          ]
        }
      ]
    },
    "BusinessService12Code": {
      "type": "string",
      "description": "Specifies the Service Level agreed between the two MessagingEndpoints under which rules this Business Message is exchanged.\n*`G001`-Indicates the gpi Customer Credit Transfer (CCT) service.",
      "enum": [
        "G001"
      ]
    },
    "ChargeBearerType3Code": {
      "type": "string",
      "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.\n*`SHAR`-In a credit transfer context, means that 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. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.\n*`DEBT`-All transaction charges are to be borne by the debtor.\n*`CRED`-All transaction charges are to be borne by the creditor.",
      "enum": [
        "SHAR",
        "DEBT",
        "CRED"
      ]
    },
    "Charges15": {
      "type": "object",
      "description": "Provides information on the charges related to the payment transaction.",
      "additionalProperties": false,
      "properties": {
        "amount": {
          "$ref": "#/$defs/ActiveCurrencyAndAmount"
        },
        "agent": {
          "$ref": "#/$defs/BranchAndFinancialInstitutionIdentification1Choice"
        }
      },
      "required": [
        "amount",
        "agent"
      ]
    },
    "ClearingSystemMemberIdentification3": {
      "type": "object",
      "description": "Unique identification, as assigned by a clearing system, to unambiguously identify a member of the clearing system.",
      "additionalProperties": false,
      "properties": {
        "clearing_system_identification": {
          "$ref": "#/$defs/ExternalClearingSystemIdentification1Code"
        },
        "member_identification": {
          "$ref": "#/$defs/RestrictedFINXMax28Text"
        }
      },
      "required": [
        "clearing_system_identification",
        "member_identification"
      ]
    },
    "ExternalCashClearingSystem1Code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 3,
      "description": "Specifies the cash clearing system, as published in an external cash clearing system code list.\r\nExternal code sets can be downloaded from www.iso20022.org."
    },
    "ExternalClearingSystemIdentification1Code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5,
      "description": "Specifies the clearing system identification code, as published in an external clearing system identification code list.\r\nExternal code sets can be downloaded from www.iso20022.org."
    },
    "FinancialInstitutionIdentification12Choice": {
      "type": "object",
      "description": "Specifies the details to identify a financial institution.",
      "additionalProperties": true,
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "bicfi": {
              "$ref": "#/$defs/BICFIDec2014Identifier"
            }
          },
          "required": [
            "bicfi"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "clearing_system_member_identification": {
              "$ref": "#/$defs/ClearingSystemMemberIdentification3"
            }
          },
          "required": [
            "clearing_system_member_identification"
          ]
        }
      ]
    },
    "ISONoLocalDateTime": {
      "type": "string",
      "description": "an ISODateTime whereby only Zulu/UTC and Local Time with UTC offset are allowed and where local time is blocked.",
      "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$"
    },
    "Max140Text": {
      "type": "string",
      "description": "Specifies a character string with a maximum length of 140 characters.",
      "minLength": 1,
      "maxLength": 140
    },
    "PaymentScenario6Code": {
      "type": "string",
      "description": "Describes the payment scenario used for a payment transaction.\n*`CCTR`-Indicates customer credit transfer(s).\n*`RCCT`-Indicates a return of a customer credit transfer. ",
      "enum": [
        "CCTR",
        "RCCT"
      ]
    },
    "PaymentStatusReason10Code": {
      "type": "string",
      "description": "Provides the reason for a payment status.\n*`G000`-The Status Originator transferred the Credit Transfer to the next Agent or to a Market Infrastructure maintaining the transaction’s service obligations.\n*`G001`-The Status Originator transferred the Credit Transfer to the next Agent or to a Market Infrastructure where the transaction’s service obligations may no longer be guaranteed.\n*`G002`-The transaction processing cannot be completed the same day.\n*`G003`-In an FI to FI Customer Credit Transfer: Credit to creditor's account is pending receipt of required documents. The Status Originator has requested creditor to provide additional documentation.\n*`G004`-Credit to the creditor's account is pending as status Originator is waiting for funds provided via a cover.",
      "enum": [
        "G000",
        "G001",
        "G002",
        "G003",
        "G004"
      ]
    },
    "RestrictedFINXMax28Text": {
      "type": "string",
      "description": "Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .",
      "minLength": 1,
      "maxLength": 28,
      "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]{1,28}$"
    },
    "RestrictedFINXMax35Text": {
      "type": "string",
      "description": "Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .",
      "minLength": 1,
      "maxLength": 35,
      "pattern": "^[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+ ]{1,35}$"
    },
    "SettlementMethod1Code": {
      "type": "string",
      "description": "Specifies the method used to settle the credit transfer instruction.\n*`INDA`-Settlement is done by the agent instructed to execute a payment instruction.\n*`INGA`-Settlement is done by the agent instructing and forwarding the payment to the next party in the payment chain.\n*`COVE`-Settlement is done through a cover payment.\n*`CLRG`-Settlement is done through a payment clearing system.",
      "enum": [
        "INDA",
        "INGA",
        "COVE",
        "CLRG"
      ]
    },
    "TrackerPaymentStatusReason3Code": {
      "type": "string",
      "description": "Provides reason for reject/return.\n*`AM06`-Below limit.\n*`RC01`-Bank identifier code specified in the message has an incorrect format (formerly IncorrectFormatForRoutingCode).\n*`AC06`-Account specified is blocked, prohibiting posting of transactions against it.\n*`AM07`-Amount specified in message has been blocked by regulatory authorities.\n*`AC04`-Account number specified has been closed on the bank of account's books.\n*`AC07`-Creditor account number closed.\n*`G004`-Credit to the creditor's account is pending as status Originator is waiting for funds provided via a cover.\n*`DUPL`-Payment is a duplicate of another payment.\n*`ERIN`-The Extended Remittance Information (ERI) option is not supported.\n*`FOCR`-Return following a cancellation request.\n*`FR01`-Returned as a result of fraud.\n*`BE01`-Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).\n*`AC01`-Account number is invalid or missing\n*`AGNT`-Agent in the payment workflow is incorrect.\n*`CURR`-Currency of the payment is incorrect.\n*`AM04`-Amount of funds available to cover specified message amount is insufficient.\n*`FF06`-Category Purpose code is missing or invalid.\n*`RC08`-Routing code not valid for local clearing.\n*`RC04`-Creditor bank identifier is invalid or missing.\n*`AC02`-Debtor account number invalid or missing\r\n\n*`AC13`-Debtor account type is missing or invalid.\n*`RR11`-Invalid or missing identification of a bank proprietary service.\n*`RC03`-Debtor bank identifier is invalid or missing\n*`RC11`-Intermediary Agent is invalid or missing.\n*`FF05`-Local Instrument code is missing or invalid.\n*`RR12`-Invalid or missing identification required within a particular country or payment type.\n*`FF03`-Payment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code.\n*`FF07`-Purpose is missing or invalid.\n*`FF04`-Service Level code is missing or invalid.\n*`RR09`-Structured creditor reference invalid or missing.\n*`BE04`-Specification of creditor's address, which is required for payment, is missing/not correct (formerly IncorrectCreditorAddress).\n*`RR03`-Specification of the creditor's name and/or address needed for regulatory requirements is insufficient or missing.\n*`RR01`-Specification of the debtor’s account or unique identification needed for reasons of regulatory requirements is insufficient or missing\n*`BE07`-Specification of debtor's address, which is required for payment, is missing/not correct.\n*`RR02`-Specification of the debtor’s name and/or address needed for regulatory requirements is insufficient or missing.\r\n\n*`NOAS`-Failed to contact beneficiary.\n*`AM02`-Specific transaction/message amount is greater than allowed maximum.\n*`AM03`-Specific message amount is an non processable currency outside of existing agreement.\n*`NOCM`-Customer account is not compliant with regulatory requirements, for example FICA (in South Africa) or any other regulatory requirements which render an account inactive for certain processing.\n*`MS03`-Reason has not been specified by agent.\n*`MS02`-Reason has not been specified by end customer.\n*`RR05`-Regulatory or Central Bank Reporting information missing, incomplete or invalid.\n*`RR04`-Regulatory Reason \n*`RR07`-Remittance information structure does not comply with rules for payment type.\n*`RR08`-Remittance information truncated to comply with rules for payment type.\n*`CUST`-At request of creditor.\n*`RR06`-Tax information missing, incomplete or invalid.\n*`UPAY`-Payment is not justified.\n*`BE05`-Party who initiated the message is not recognised by the end customer.\n*`AM09`-Amount received is not the amount agreed or expected.\n*`RUTA`-Return following investigation request and no remediation possible.",
      "enum": [
        "AM06",
        "RC01",
        "AC06",
        "AM07",
        "AC04",
        "AC07",
        "G004",
        "DUPL",
        "ERIN",
        "FOCR",
        "FR01",
        "BE01",
        "AC01",
        "AGNT",
        "CURR",
        "AM04",
        "FF06",
        "RC08",
        "RC04",
        "AC02",
        "AC13",
        "RR11",
        "RC03",
        "RC11",
        "FF05",
        "RR12",
        "FF03",
        "FF07",
        "FF04",
        "RR09",
        "BE04",
        "RR03",
        "RR01",
        "BE07",
        "RR02",
        "NOAS",
        "AM02",
        "AM03",
        "NOCM",
        "MS03",
        "MS02",
        "RR05",
        "RR04",
        "RR07",
        "RR08",
        "CUST",
        "RR06",
        "UPAY",
        "BE05",
        "AM09",
        "RUTA"
      ]
    },
    "TransactionIndividualStatus5Code": {
      "type": "string",
      "description": "Specifies the status of a single payment transaction.\n*`RJCT`-Payment initiation or individual transaction included in the payment initiation has been rejected.\n*`ACSP`-All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n*`ACCC`-Settlement on the creditor's account has been completed. ",
      "enum": [
        "RJCT",
        "ACSP",
        "ACCC"
      ]
    }
  }
}