Citi · Schema

Payment Notification

BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway

Properties

Name Type Description
customer object
authentication object
transaction object
method object
order object
merchant object
mandate object
shipping object
View JSON Schema on GitHub

JSON Schema

citi-payment-notification-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-payment-notification-schema.json",
  "title": "Payment Notification",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/citi-payment-acceptance-api-openapi.yml#/components/schemas/Payment-Notification",
  "type": "object",
  "properties": {
    "customer": {
      "type": "object",
      "title": "Customer",
      "properties": {
        "id": {
          "description": "Merchant internal customer ID.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "name": {
          "$ref": "#/$defs/Name"
        },
        "tax_id": {
          "description": "Customer's payer identification (e.g., email address) \n- For Brazil PIX Initiation, this parameter is mandatory, individual person tax identification (CPF) allowed length = 11 or business entity tax identification (CNPJ) allowed length = 14",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "tax_id"
        },
        "email": {
          "description": "Customer email \n - For UK PAYBYBANK creation, customer.email parameter is mandatory.",
          "type": "string",
          "pattern": "[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$",
          "title": "email"
        },
        "phone": {
          "description": "Customer phone.",
          "pattern": "\\+[0-9]{1,3}[-\\ ][0-9()+\\-]{1,30}",
          "type": "string",
          "title": "phone"
        },
        "device": {
          "$ref": "#/$defs/Customer-Device"
        },
        "address": {
          "$ref": "#/$defs/Address"
        }
      }
    },
    "authentication": {
      "title": " Authentication Sub Response",
      "required": [
        "channel",
        "method_completed",
        "method_supported",
        "requestor_id",
        "requestor_name",
        "accept_versions",
        "version"
      ],
      "properties": {
        "acs_eci": {
          "description": "Electronic Commerce Indicator (ECI) value provided by the issuer's ACS.",
          "maxLength": 2,
          "minLength": 1,
          "type": "string",
          "title": "acs_eci"
        },
        "token": {
          "description": "The base64 encoded value generated by the issuer (CAVV/AAV/AEVV/Authentication Value).",
          "maxLength": 32,
          "minLength": 28,
          "type": "string",
          "title": "token"
        },
        "3ds_transaction_id": {
          "description": "A unique identifier for the 3-D Secure authentication transaction (XID for v1, DS ID for v2).",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "3ds_transaction_id"
        },
        "server_transaction_id": {
          "description": "Unique identifier assigned by the 3DS Server (threeDSServerTransID).",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "server_transaction_id"
        },
        "acs_transaction_id": {
          "description": "A unique transaction identifier assigned by the Access Control Server (ACS).",
          "maxLength": 36,
          "minLength": 36,
          "type": "string",
          "title": "acs_transaction_id"
        },
        "scheme": {
          "description": "The EMV 3DS authentication scheme used (e.g., MADA, MASTERCARD, VISA) for externally authenticated transactions.",
          "maxLength": 50,
          "minLength": 2,
          "type": "string",
          "title": "scheme"
        },
        "custom": {
          "description": "Additional information returned by the scheme or issuer in the authentication response.",
          "maxLength": 4000,
          "minLength": 1,
          "type": "string",
          "title": "custom"
        },
        "directory_server_id": {
          "description": "Unique identifier for the Directory Server (RID) for in-app authentication.",
          "maxLength": 10,
          "minLength": 10,
          "type": "string",
          "title": "directory_server_id"
        },
        "directory_server_reference": {
          "description": "Reference number assigned to the Directory Server (DS) by EMV Co.",
          "maxLength": 32,
          "minLength": 1,
          "type": "string",
          "title": "directory_server_reference"
        },
        "directory_transaction_id": {
          "description": "A unique transaction identifier assigned by the scheme Directory Server.",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "directory_transaction_id"
        },
        "method_completed": {
          "description": "Indicates if the issuer's ACS completed the method call to obtain browser info.",
          "type": "boolean",
          "title": "method_completed"
        },
        "method_supported": {
          "description": "Indicates if the issuer's ACS supports the method call protocol.",
          "enum": [
            "NOT_SUPPORTED",
            "SUPPORTED"
          ],
          "type": "string",
          "title": "method_supported"
        },
        "protocol_version": {
          "description": "The version of the EMV 3-D Secure protocol used (e.g., 2.1.0).",
          "maxLength": 20,
          "minLength": 1,
          "type": "string",
          "title": "protocol_version"
        },
        "requestor_id": {
          "description": "The unique identifier assigned to the merchant by the card scheme directory server for 3DS2.",
          "maxLength": 20,
          "minLength": 1,
          "type": "string",
          "title": "requestor_id"
        },
        "requestor_name": {
          "description": "The unique name assigned to the merchant by the card scheme directory server for 3DS2.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "requestor_name"
        },
        "accept_versions": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "A comma separated list of the forms of payer authentication that you will accept.",
            "title": "accept_versions"
          }
        },
        "channel": {
          "description": "Indicates the channel in which the authentication request is initiated.",
          "enum": [
            "MERCHANT_REQUESTED",
            "PAYER_APP",
            "PAYER_BROWSER"
          ],
          "type": "string",
          "title": "channel"
        },
        "method": {
          "description": "The method that the issuer will use to authenticate the payer.",
          "enum": [
            "DYNAMIC",
            "OUT_OF_BAND",
            "STATIC"
          ],
          "type": "string",
          "title": "method"
        },
        "purpose": {
          "description": "Indicates the context in which payer authentication is requested.",
          "enum": [
            "ADD_CARD",
            "AGREEMENT_CANCELLATION",
            "MAINTAIN_CARD",
            "PAYMENT_TRANSACTION",
            "REFRESH_AUTHENTICATION"
          ],
          "type": "string",
          "title": "purpose"
        },
        "method_post_data": {
          "description": "Base64 URL encoded frame contents to be posted to the method URL for risk assessment.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "method_post_data"
        },
        "method_url": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "The URL provided by the issuer to which the method post data must be sent.",
          "title": "method_url"
        },
        "redirect_html": {
          "type": "string",
          "maxLength": 40960,
          "minLength": 1,
          "description": "The URL provided by the issuer to which the method post data must be sent.",
          "title": "redirect_html"
        },
        "version": {
          "description": "Indicates the available payer authentication method or NONE if unavailable.",
          "enum": [
            "3DS2",
            "RUPAY",
            "PASSKEY",
            "NONE"
          ],
          "type": "string",
          "title": "version"
        },
        "line_of_business": {
          "description": "Identifier for different lines of business configured in the merchant profile.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "line_of_business"
        },
        "sdk": {
          "$ref": "#/$defs/Sdk-Payer-Authentication-Response"
        },
        "status_reason_code": {
          "description": "A code indicating the reason for the transaction status (EMVCo specification).",
          "maxLength": 2,
          "minLength": 2,
          "type": "string",
          "title": "status_reason_code"
        },
        "status": {
          "description": "Indicates the result of payer authentication with the issuer (e.g., Y, N, U, A, R).",
          "maxLength": 1,
          "minLength": 1,
          "type": "string",
          "title": "status"
        },
        "acs_reference": {
          "description": "Reference number assigned to the issuer's ACS by EMV Co.",
          "maxLength": 32,
          "minLength": 1,
          "type": "string",
          "title": "acs_reference"
        },
        "amount": {
          "description": "Transaction amount",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "amount"
        },
        "payer_interaction": {
          "description": "Indicates if payer interaction was used to complete the authentication process.",
          "enum": [
            "NOT_POSSIBLE",
            "NOT_REQUIRED",
            "REQUIRED"
          ],
          "type": "string",
          "title": "payer_interaction"
        },
        "payment_exemption": {
          "description": "Indicates why this payment qualifies for an SCA exemption.",
          "enum": [
            "AUTO",
            "LOW_RISK",
            "LOW_VALUE_PAYMENT",
            "TRUSTED_MERCHANT",
            "MERCHANT_INITIATED_TRANSACTION",
            "RECURRING_PAYMENT",
            "SECURE_CORPORATE_PAYMENT"
          ],
          "type": "string",
          "title": "payment_exemption"
        },
        "trusted_merchant_status": {
          "description": "Indicates if the payer has added you to their list of trusted merchants for this card.",
          "enum": [
            "NOT_ON_LIST",
            "ON_LIST"
          ],
          "type": "string",
          "title": "trusted_merchant_status"
        },
        "redirect_domain_name": {
          "type": "string",
          "maxLength": 253,
          "minLength": 1,
          "description": "The domain name of the site where payer authentication was performed (e.g., ACS domain name).",
          "title": "redirect_domain_name"
        },
        "status_code": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Indicates the status of payer authentication with the issuer (e.g., NPCI BEPG status code).",
          "title": "status_code"
        },
        "status_description": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 1,
          "description": "Indicates the status of payer authentication with the issuer (e.g., NPCI BEPG status code).",
          "title": "status_description"
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "Date and time of the payer authentication being performed (YYYY-MM-DDThh:mm:ss.SSSZ).",
          "title": "time"
        },
        "transaction_id": {
          "description": "Identifier used by the acquirer to identify the transaction. This identifier may be used by the acquirer in settlement reports.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "transaction_id"
        }
      }
    },
    "transaction": {
      "type": "object",
      "title": "PN_transaction",
      "properties": {
        "id": {
          "description": "Unique Transaction identification provided by the merchant during transaction creation \n- transaction.id parameter is mandatory for all transaction type creation   \n- For Brazil QR Creation transaction.reference parameter should be of length between 26 to 35 and allowed datatype is Alphanumeric and should not be filled with spaces or zeroes \n- For CARD Authorize operation transaction.id parameter is mandatory \n- For CARD Capture operation transaction.id parameter is mandatory \n- For CARD Pay operation transaction.id parameter is mandatory \n- For CARD Verify operation transaction.id parameter is mandatory \n- For ACH Pay and Verify transaction, transaction.id parameter is mandatory",
          "maxLength": 128,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "amount": {
          "description": "Transaction amount \n - For Brazil QR Creation decimal values are mandatory for transaction.amount and it must have 2 digits \n - For Brazil QR Creation maxmium amount limit is 9999999999.99 and transaction.amount parameter is mandatory\n- For CARD Authorize operation transaction.amount parameter is mandatory \n- For CARD Capture operation transaction.amount parameter is mandatory \n- For CARD Pay operation transaction.amount parameter is mandatory \n- For CARD Verify operation transaction.amount parameter is mandatory \n- For ACH Pay and Verify transaction, transaction.amount parameter is mandatory \n- For Brazil PIX cancellation, this parameter is mandatory with 18 digits including 2 decimals.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "amount"
        },
        "country_code": {
          "description": "Country code",
          "enum": [
            "US",
            "BR",
            "GB",
            "IN",
            "TH",
            "AU",
            "CA",
            "MX",
            "DE",
            "NL",
            "IE",
            "IT",
            "FR",
            "ES",
            "HK",
            "SG",
            "NZ",
            "DK",
            "NO",
            "SE",
            "SW",
            "BE",
            "FI",
            "CH",
            "CZ",
            "AT",
            "PT"
          ],
          "type": "string",
          "title": "country_code"
        },
        "currency_code": {
          "description": "ISO 4217 Currency Code for instance  USD/GBP/EUR \n- transaction.currency_code parameter is mandatory for all transaction type creation",
          "enum": [
            "BRL",
            "USD",
            "GBP",
            "INR",
            "EUR",
            "CAD",
            "HKD",
            "AUD",
            "SGD",
            "DKK",
            "NOK",
            "SEK",
            "PLN",
            "IDR",
            "MYR",
            "THB",
            "CHF",
            "PHP",
            "CZK"
          ],
          "type": "string",
          "title": "currency_code"
        },
        "product_info": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Product-Info"
          }
        },
        "expiry_time": {
          "description": "Expiration time for QR collection, specified in seconds.",
          "format": "int32",
          "minimum": 10,
          "type": "integer",
          "title": "expiry_time"
        },
        "status": {
          "type": "string",
          "maxLength": 20,
          "description": "Transaction Status, following status you will receive in response \n- CREATED - The transaction has successfully been created \n- PENDING - Transaction pending action from customer \n- AUTHORIZED - Authorization approved \n- CAPTURED - Transaction fully captured \n- CAPTURED_PARTIALLY - Transaction partially captured \n- CANCELLED - Transaction cancelled \n- DECLINED - Transaction declined by the payment processor \n- REJECTED - Request rejected after business logic check \n- SYSTEM_ERROR- Internal system error occurred processing the transaction \n- FAILED - Transaction failed for invalid payload \n- SETTLED - Transaction settled \n- SUCCESS - The operation was successfully processed \n- UNKNOWN - The result of the operation is unknown",
          "title": "status"
        },
        "description": {
          "type": "string",
          "maxLength": 256,
          "description": "Transaction Status, following status you will receive in response \n- CREATED - The transaction has successfully been created \n- PENDING - Transaction pending action from customer \n- AUTHORIZED - Authorization approved \n- CAPTURED - Transaction fully captured \n- CAPTURED_PARTIALLY - Transaction partially captured  \n- CANCELLED - Transaction cancelled \n- DECLINED - Transaction declined by the payment processor \n- REJECTED - Request rejected after business logic check \n- SYSTEM_ERROR- Internal system error occurred processing the transaction \n- FAILED - Transaction failed for invalid payload \n- SETTLED - Transaction settled \n- SUCCESS - The operation was successfully processed \n- UNKNOWN - The result of the operation is unknown",
          "title": "description"
        },
        "redirect_url": {
          "type": "string",
          "maxLength": 500,
          "description": "The URL to which you must redirect the payer's browser to complete the payment when using the payment provider's website.",
          "title": "redirect_url"
        },
        "creation_date_time": {
          "type": "string",
          "format": "date-time",
          "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation \n- Instant Payment (Credit) - Date time, either provided by the debtor bank or generated by Citi's transaction processing application, when a transaction was created \n- For ACH PAY and Verify transaction, order.creation_date_time parameter is mandatory \n- For Brazil PIX, this parameter is mandatory",
          "title": "creation_date_time"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "description": "Indicates the date and time the gateway considers the order to have last been updated GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation \n- Instant Payment (Credit) - Date time, either provided by the debtor bank or generated by Citi's transaction processing application, when a transaction was created \n- For ACH PAY and Verify transaction, order.update_time parameter is mandatory",
          "title": "update_time"
        },
        "psp_reference": {
          "type": "string",
          "maxLength": 36,
          "minLength": 1,
          "description": "Payment session id generated by Banked (third party system). Will be present in case of link creation being successful \n - For UK PAYBYBANK Creation payment_session_field parameter is mandatory for success link creation.",
          "title": "psp_reference"
        },
        "type": {
          "description": "Indicates the type of action performed on the order.",
          "enum": [
            "AUTHENTICATION",
            "AUTHORIZATION",
            "AUTHORIZATION_UPDATE",
            "CAPTURE",
            "CHARGEBACK",
            "DISBURSEMENT",
            "FUNDING",
            "PAYMENT",
            "REFUND",
            "REFUND_REQUEST",
            "VERIFICATION",
            "VOID_AUTHORIZATION",
            "VOID_CAPTURE",
            "VOID_PAYMENT",
            "VOID_REFUND"
          ],
          "type": "string",
          "title": "type"
        },
        "reference": {
          "description": "An optional identifier for this transaction",
          "maxLength": 250,
          "minLength": 1,
          "type": "string",
          "title": "reference"
        },
        "authorization_code": {
          "description": "Value generated by the issuing bank in response to a proposal to transfer funds",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "authorization_code"
        },
        "acquirer": {
          "$ref": "#/$defs/Acquirer-Request"
        },
        "terminal": {
          "description": "Identifier used by the acquirer to identify the transaction. This identifier may be used by the acquirer in settlement reports.",
          "maxLength": 16,
          "minLength": 1,
          "type": "string",
          "title": "terminal"
        },
        "retrieval_reference_number": {
          "description": "When a transaction registration succeeds, the value of this parameter contains the 44-digit number that was used to create the bar code on the Boleto slip. This bar code can then be scanned by the vendor if a payer elects to pay Boleto at a registered location.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "retrieval_reference_number"
        },
        "reason_code": {
          "description": "Transaction rejection Code \n- For Brazil PIX, this parameter is mandatory with max length 4, expected values are ACCT, BLCK, CCLD, FAIL, OTHR, SLBD & SLCR",
          "maxLength": 10,
          "minLength": 1,
          "type": "string",
          "title": "reason_code"
        },
        "authorization_response": {
          "$ref": "#/$defs/Authorization-Response"
        },
        "response": {
          "$ref": "#/$defs/Response"
        },
        "receipt": {
          "description": "When a transaction registration succeeds, the value of this parameter contains the 44-digit number that was used to create the bar code on the Boleto slip. This bar code can then be scanned by the vendor if a payer elects to pay Boleto at a registered location.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "receipt"
        },
        "additional_response_data": {
          "description": "A 47-digit number the payer can use to make a Boleto payment.When a transaction registration succeeds, the value of this parameter contains the 44-digit number that was used to create the bar code on the Boleto slip. This bar code can then be scanned by the vendor if a payer elects to pay Boleto at a registered location.If the transaction registration fails, this parameter contains an error code and a description in key-value pair format.",
          "maxLength": 4000,
          "minLength": 1,
          "type": "string",
          "title": "additional_response_data"
        },
        "status_date_time": {
          "format": "date-time",
          "type": "string",
          "description": "Date & Time when Payer bank provided their response GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- This parameter is mandatory for Brazil PIX",
          "title": "status_date_time"
        }
      }
    },
    "method": {
      "type": "object",
      "title": "Payment Notification Method",
      "properties": {
        "card": {
          "$ref": "#/$defs/Card-Response"
        },
        "paypal": {
          "$ref": "#/$defs/Paypal-Response"
        },
        "type": {
          "description": "Method specified by the customer for the transaction \n- For Brazil PIX, this is mandatory parameter with the allowed value PIX",
          "type": "string",
          "enum": [
            "PIX",
            "CARD",
            "BOLETO",
            "ALIPAY",
            "GOOGLEPAY",
            "APPLEPAY",
            "ACH",
            "FPS",
            "RTP",
            "PAYPAL",
            "AFTERPAY",
            "AMAZON_PAY",
            "BITPAY",
            "BIZUM",
            "TRUSTLY",
            "BLIK",
            "BLIK_BNPL",
            "CASH_APP",
            "DOKU_WALLET",
            "EPS",
            "ESTONIAN_BANKS",
            "VERKKOPANKKI",
            "FLOAPAY",
            "FPX",
            "GOPAY",
            "IDEAL",
            "INDOMARET",
            "INDONESIAN_BANKS",
            "JENIUS_PAY",
            "KREDIVO",
            "LATVIAN_BANKS",
            "LINK_AJA",
            "LITHUANIAN_BANKS",
            "MBWAY",
            "MULTIBANCO",
            "OVO_WALLET",
            "PAYSAFECARD",
            "P24",
            "SATISPAY",
            "SCALAPAY",
            "SKRILL",
            "SWISH",
            "THAIBANKS",
            "TWINT",
            "WERO",
            "ZIP",
            "BANCOMATPAY",
            "DRAGONPAY",
            "MYBANK",
            "ALFAMART",
            "PAYU",
            "BANCONTACT",
            "STABLECOINS",
            "OXXO_PAY"
          ],
          "title": "type"
        },
        "token_id": {
          "description": "Token_number. \n- For India card transaction, method.card.token_number parameter is mandatory when token number is provided and allowed maximum length is 50.",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "token_number"
        },
        "session_id": {
          "description": "Session identification number",
          "type": "string",
          "minLength": 36,
          "maxLength": 37,
          "title": "session_id"
        }
      }
    },
    "order": {
      "type": "object",
      "title": "Payment-Notification Order",
      "properties": {
        "id": {
          "description": "A unique identifier for this order to distinguish it from any other order you create. \n- For CARD Authorize, Capture, Pay and Verify operation order.id parameter is mandatory \n- For ACH Pay and Verify transaction order.id parameter is mandatory",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "amount": {
          "description": "The total amount for the order \n- For CARD Authorize operation order.amount parameter is mandatory \n- For CARD Capture operation order.amount parameter is mandatory \n- For CARD Pay operation order.amount parameter is mandatory \n- For CARD Verify operation order.amount parameter is mandatory and allowed maximum amount is 2 \n- For ACH PAY and Verify transaction, order.amount parameter is mandatory",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "amount"
        },
        "creation_date_time": {
          "type": "string",
          "format": "date-time",
          "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation \n- Instant Payment (Credit) - Date time, either provided by the debtor bank or generated by Citi's transaction processing application, when a transaction was created \n- For ACH PAY and Verify transaction, order.creation_date_time parameter is mandatory",
          "title": "creation_date_time"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "description": "Indicates the date and time the gateway considers the order to have last been updated GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation \n- Instant Payment (Credit) - Date time, either provided by the debtor bank or generated by Citi's transaction processing application, when a transaction was created \n- For ACH PAY and Verify transaction, order.last_update_time parameter is mandatory",
          "title": "update_time"
        },
        "reference": {
          "description": "An optional identifier for the orderFor example, a shopping cart number, an order number, or an invoice number.",
          "maxLength": 200,
          "minLength": 1,
          "type": "string",
          "title": "reference"
        },
        "invoice_number": {
          "description": "The invoice number you issued for this order",
          "maxLength": 25,
          "minLength": 1,
          "type": "string",
          "title": "invoice_number"
        },
        "currency_code": {
          "description": "ISO 4217 Currency Code for instance  USD/GBP/EUR \n- order.currency_code parameter is mandatory for all transaction type creation",
          "enum": [
            "BRL",
            "USD",
            "GBP",
            "INR",
            "EUR",
            "CAD",
            "HKD",
            "AUD",
            "SGD",
            "DKK",
            "NOK",
            "SEK",
            "PLN",
            "IDR",
            "MYR",
            "THB",
            "CHF",
            "PHP",
            "CZK"
          ],
          "type": "string",
          "title": "currency_code"
        },
        "merchant_amount": {
          "description": "The total amount for the order in order.merchantCurrency units. \n- For CARD Authorize operation order.merchant_amount parameter is mandatory \n- For CARD Capture operation order.merchant_amount parameter is mandatory \n- For CARD Pay operation order.merchant_amount parameter is mandatory \n- For CARD Verify operation order.merchant_amount parameter is mandatory",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "merchant_amount"
        },
        "merchant_currency": {
          "description": " The currency in which you priced your inventory for this order, expressed as an ISO 4217 alpha codeISO 4217 Currency Code for instance  USD/GBP/EUR \n- order.merchant_currency parameter is mandatory for all transaction type creation",
          "enum": [
            "BRL",
            "USD",
            "INR"
          ],
          "type": "string",
          "title": "merchant_currency"
        },
        "status": {
          "type": "string",
          "maxLength": 30,
          "description": "Order Status, following status you will receive in response \n- AUTHENTICATED - The payer was successfully authenticated. \n- AUTHENTICATION_INITIATED - Payer authentication has been initiated but not completed. \n- AUTHENTICATION_NOT_NEEDED - Payer authentication was not performed as it was not needed. \n- AUTHENTICATION_UNSUCCESSFUL - Payer authentication was not able to be successfully completed. \n- AUTHORIZED - The payment has been authorized successfully but the authorized amount has not yet been captured, in part, full, or excess. \n- CANCELLED - The initial transaction for this order has been voided successfully. \n- CAPTURED - The authorized amount for this order, in full or excess, has been captured successfully. \n- CHARGEBACK_PROCESSED - A Chargeback has been processed against this order. \n- DISPUTED - The payment has been disputed and is under investigation. A request for information has been received or a chargeback is pending. \n- EXCESSIVELY_REFUNDED - The payment has been captured in part, full, or excess, but the captured amount in excess has been refunded successfully. \n- FAILED - The payment has not been successful. \n- FUNDING - The order transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from the payment service provider. \n- INITIATED - A browser payment that has successfully been initiated for this order. No payment has yet been made. \n- PARTIALLY_CAPTURED - The authorized amount for this order, in part, has been captured successfully. \n- PARTIALLY_REFUNDED - The payment has been captured in part, full, or excess, but the captured amount in part has been refunded successfully. \n- REFUNDED - The payment has been captured in part, full, or excess, but the captured amount in full has been refunded successfully. \n- REFUND_REQUESTED - A refund against captured amounts on this order has been requested but not executed. Requires further action to approve the refund. \n- VERIFIED - The card details for this order have successfully been verified. No payment has yet been initiated or made. \n- DISBURSED - The order amount has successfully been disbursed to the payer.",
          "title": "status"
        },
        "total_auth_amount": {
      

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/json-schema/citi-payment-notification-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/citi-payment-notification"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.