{ "$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": { "description": "The amount that has been successfully authorized for this order. \n- For CARD Authorize operation order.total_auth_amount parameter is mandatory \n- For CARD Capture operation order.total_auth_amount parameter is mandatory \n- For CARD Pay operation order.total_auth_amount parameter is mandatory \n- For CARD Verify operation order.total_auth_amount parameter is mandatory", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "total_auth_amount" }, "total_captured_amount": { "description": "The amount that has been successfully captured for this order. \n- For CARD Authorize operation order.total_captured_amount parameter is mandatory \n- For CARD Capture operation order.total_captured_amount parameter is mandatory \n- For CARD Pay operation order.total_captured_amount parameter is mandatory \n- For CARD Verify operation order.total_captured_amount parameter is mandatory", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "total_captured_amount" }, "total_disbursed_amount": { "description": "The amount that has been successfully captured for this order. \n- For CARD Authorize operation order.total_disbursed_amount parameter is mandatory \n- For CARD Capture operation order.total_disbursed_amount parameter is mandatory \n- For CARD Pay operation order.total_disbursed_amount parameter is mandatory \n- For CARD Verify operation order.total_disbursed_amount parameter is mandatory", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "total_disbursed_amount" }, "total_refunded_amount": { "description": "The amount that has been successfully captured for this order. \n- For CARD Authorize operation order.total_refunded_amount parameter is mandatory \n- For CARD Capture operation order.total_refunded_amount parameter is mandatory \n- For CARD Pay operation order.total_refunded_amount parameter is mandatory \n- For CARD Verify operation order.total_refunded_amount parameter is mandatory", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "total_refunded_amount" }, "item_amount": { "description": "The total item amount for the order.If you do not provide this value but provide line item data, then this amount is calculated as the sum of the item.quantity times the item.unitPrice for all the line items (total item amount).If you provide both this value and line item data, then the order.itemAmount MUST equal the total item amount.", "maxLength": 14, "minLength": 1, "type": "string", "title": "item_amount" } } }, "merchant": { "type": "object", "title": "Payment-Notification Merchant", "properties": { "account": { "title": "merchant account", "description": "Account Details", "properties": { "bank_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Customer bank's network identification \n- For Brazil PIX, this parameter is mandatory with max length 8", "title": "bank_id" } } } } }, "mandate": { "type": "object", "title": "Payment-Notification Mandate", "properties": { "id": { "description": "Unique Id given during initiation to identify the mandate \n- This parameter is mandatory for Brazil with max length 29", "minLength": 1, "maxLength": 35, "type": "string", "title": "id" } } }, "shipping": { "$ref": "#/$defs/Shipping" } }, "$defs": { "Acquirer-Request": { "title": "acquirer", "description": "acquirer", "properties": { "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" } } }, "Additional-Info": { "title": "Additional-Info /n- For Brazil and CARD transactions allowed maxmium of 50 lines /n- For India CARD transactions allowed maxmium of 10 lines", "properties": { "name": { "maxLength": 100, "minLength": 1, "type": "string", "description": "Specifies a character string with a maximum length of 50 characters. If transaction.Additional-Info.name is provided by merchant then transaction.Additional-Info.value is mandatory.", "title": "name" }, "value": { "maxLength": 500, "minLength": 1, "type": "string", "description": "Specifies a character string with a maximum length of 200 characters. if transaction.Additional-Info.value is provided by merchant then transaction.Additional-Info.name is mandatory.", "title": "value" } } }, "Address": { "type": "object", "description": "Address", "title": "Address", "properties": { "floor": { "description": "Floor", "maxLength": 70, "minLength": 1, "type": "string", "title": "floor" }, "room": { "description": "Room", "maxLength": 70, "minLength": 1, "type": "string", "title": "room" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Street Name.\n- For US RFP max length is 70 \n- For US ACH Direct Debit, customer.address.sreet_name parameter is mandatory with max length 17 (optional if address_lines is given) \n- For US ACH Direct Debit, merchant.address.street_name parameter is mandatory with max length 17 (optional if address_lines is given) \n- For ACH Direct Debit, receiver.address.street_name parameter is mandatory with max length 17 (optional if address_lines is given)", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Building Number. \n- For US RFP max length is 16 \n- For US ACH Direct Debit, customer.address.building_number is mandatory with max length 16 (optional if address_lines is given) \n- For US ACH Direct Debit, merchant.address.building_number parameter is mandatory with max length 16 (optional if address_lines is given) \n- For US ACH Direct Debit, receiver.address.building_number parameter is mandatory with max length 16 (optional if address_lines is given)", "title": "building_number" }, "building_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Building name", "title": "building_name" }, "department": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Address Department", "title": "department" }, "sub_department": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Address Sub Department", "title": "sub_department" }, "district": { "description": "District name", "maxLength": 70, "minLength": 1, "type": "string", "title": "district" }, "city": { "maxLength": 100, "minLength": 1, "type": "string", "description": "City. \n- For US RFP max length is 35 \n- For US ACH Direct Debit, customer.address.city parameter is mandatory with max length 31 (optional if address_lines is given) \n- For US ACH Direct Debit merchant.address.city parameter is mandatory with max length 31 (optional if address_lines is given) \n- For US ACH Direct Debit, receiver.address.city parameter is mandatory with max length 31 (optional if address_lines is given)", "title": "city" }, "city_location": { "maxLength": 100, "minLength": 1, "type": "string", "description": "Customer location name", "title": "city_location" }, "post_box": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Post box", "title": "post_box" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Postal code. \n- For US RFP max length is 16 \n- For US ACH Direct Debit, customer.address.postal_code parameter is mandatory with max length 16 (optional if address_lines is given) \n- For US ACH Direct Debit merchant.address.postal_code is mandatory with max length 16 (optional if address_lines is given) \n- For US ACH Direct Debit, receiver.address.postal_code parameter is mandatory with max length 16 (optional if address_lines is given)", "title": "postal_code" }, "state": { "maxLength": 50, "minLength": 1, "type": "string", "description": "State. \n- For US RFP max length is 35 \n- For US ACH Direct Debit, customer.address.state parameter is mandatory with max length 2, for example 'NJ' for New Jersey (optional if address_lines is given) \n- For US ACH Direct Debit merchant.address.state parameter is mandatory with max length 2, for example 'NJ' for New Jersey (optional if address_lines is given) \n- For US ACH Direct Debit, receiver.address.state parameter is mandatory with max length 2, for example 'NJ' for New Jersey (optional if address_lines is given)", "title": "state" }, "country_code": { "type": "string", "pattern": "^[A-Z]{2,2}$", "description": "Country. \n- For US ACH Direct Debit, customer.address.country_code parameter is mandatory (optional if address_lines is given) \n- For US ACH Direct Debit merchant.adress.country_code parameter is mandatory (optional if address_lines is given) \n- For US ACH Direct Debit, receiver.address.country_code parameter is mandatory (optional if address_lines is given)", "title": "country_code" }, "province_code": { "description": "The three character ISO 3166-2 country subdivision code for the state or province of the address", "maxLength": 3, "minLength": 1, "type": "string", "title": "province_code" }, "lines": { "type": "array", "minItems": 1, "maxItems": 7, "items": { "$ref": "#/$defs/Lines" }, "title": "lines" } } }, "Authorization-Response": { "title": "Authorization-Response", "description": "Authorization Response", "properties": { "stan": { "description": "The System Trace Audit Number is assigned by a transaction originator to assist in identifying a Card Transaction.The trace number remains unchanged for the life of the Card Transaction.", "maxLength": 6, "minLength": 1, "type": "string", "title": "stan" }, "merchant_advice_code": { "description": "This parameter contains data returned by the issuer or card network to clearly communicate to merchants the reason for declining a MasterCard or Visa transaction Merchants can use this information to determine the best action to take.", "maxLength": 2, "minLength": 1, "type": "string", "title": "merchant_advice_code" }, "pos_entry_mode": { "description": "The POS Entry Mode provided to Discover (JCB (US Domestic only), and Diners) for the authorization", "maxLength": 4, "minLength": 1, "type": "string", "title": "pos_entry_mode" }, "return_aci": { "description": "The ACI (Authorization Characteristics Indicator) returned by the issuer", "maxLength": 1, "minLength": 1, "type": "string", "title": "return_aci" }, "avscode": { "description": "The acquirer AVS response code generated by the card issuing institution", "maxLength": 100, "minLength": 1, "type": "string", "title": "avscode" }, "commercial_card_indicator": { "description": "Indicates the type of commercial card as returned by the card issuer", "maxLength": 3, "minLength": 1, "type": "string", "title": "commercial_card_indicator" }, "date": { "type": "string", "description": "The local date, in MMDD format, on which the transaction occurred. \n- Format MMDD", "title": "date" }, "financial_network_code": { "description": "Indicates the code of the financial network that was used to process the transaction with the issuer.", "maxLength": 3, "minLength": 1, "type": "string", "title": "financial_network_code" }, "financial_network_date": { "type": "string", "format": "date", "description": "The date for the Authorization as returned by the scheme. \n- Format YYYY-MM-DD", "title": "financial_network_date" }, "pos_data": { "description": "Indicates the specific card information conditions for capture that are available when the card transaction occurs at point of service.", "maxLength": 13, "minLength": 3, "type": "string", "title": "pos_data" }, "processing_code": { "description": "Identifies the type of Card Transaction sent to Card Acceptor", "maxLength": 6, "minLength": 1, "type": "string", "title": "processing_code" }, "response_code": { "description": "The response code which indicates the status of the transaction", "maxLength": 3, "minLength": 1, "type": "string", "title": "response_code" }, "time": { "type": "string", "format": "date-time", "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \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 US RFP this parameter is mandatory", "title": "time" }, "transaction_identifier": { "description": "The unique identifier for the transaction returned by the issuer.", "maxLength": 30, "minLength": 1, "type": "string", "title": "transaction_identifier" } } }, "Billing-Agreement": { "title": "Billing Agreement", "description": "Paypal Billing Method Response", "properties": { "cardinality": { "description": "Indicates the number of billing agreements between you and this payer.", "maxLength": 100, "minLength": 1, "type": "string", "title": "cardinality" }, "description": { "description": "Your description for the PayPal billing agreement.This description is displayed to the payer when they are asked to approve the billing agreement.", "maxLength": 255, "minLength": 1, "type": "string", "title": "description" }, "id": { "description": "An identifier provided by PayPal for the billing agreement", "maxLength": 100, "minLength": 1, "type": "string", "title": "id" }, "name": { "description": "Your name for the PayPal billing agreement", "maxLength": 255, "minLength": 1, "type": "string", "title": "name" } } }, "Card-Response": { "title": "card", "description": "Card Method Response", "properties": { "number": { "description": "The account number of the payer's account used for the payment. On requests, provide the number in the form that you receive it (as explained below). On responses, the gateway populates it with a form that the payer would recognize.", "maxLength": 23, "minLength": 9, "type": "string", "title": "number" }, "expiry_month": { "description": "Two-digit month in which the payment card expires.", "type": "string", "pattern": "^(0?[1-9]|1[0-2])$", "title": "expiry_month" }, "expiry_year": { "description": "Four-digit year in which the payment card expires.", "type": "string", "pattern": "^[0-9]{2,2}$", "title": "expiry_year" }, "encryption": { "description": "The encryption framework used for the payment details received by the gateway.", "enum": [ "DEVICE", "DIGITAL_WALLET", "DUKPT" ], "type": "string", "title": "encryption" }, "funding_method": { "description": "Funding method.", "maxLength": 50, "minLength": 1, "type": "string", "title": "funding_method" }, "scheme": { "description": "Card scheme details.", "maxLength": 50, "minLength": 1, "type": "string", "title": "scheme" }, "issuer": { "description": "The issuer details.", "maxLength": 50, "minLength": 1, "type": "string", "title": "issuer" }, "product_name": { "description": "The card product name.", "maxLength": 50, "minLength": 1, "type": "string", "title": "product_name" }, "category": { "description": "The card category details.", "maxLength": 50, "minLength": 1, "type": "string", "title": "category" }, "country_code": { "description": "The card issuer country code", "pattern": "^[A-Z]{2,2}$", "type": "string", "title": "country_code" }, "device": { "$ref": "#/$defs/Device-Response" }, "device_specific": { "$ref": "#/$defs/Device-Specific-Response" } } }, "Customer-Device": { "title": "Customer-Device", "description": "Customer-Device.", "properties": { "ani": { "description": "The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.", "maxLength": 10, "minLength": 1, "type": "string", "title": "ani" }, "ani_call_type": { "description": "The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.", "maxLength": 2, "minLength": 1, "type": "string", "title": "ani_call_type" }, "browser": { "description": "The User-Agent header of the browser the customer used to place the order.", "maxLength": 2048, "minLength": 1, "type": "string", "title": "browser" }, "fingerprint": { "description": "Information collected about a remote computing device for the purpose of providing a unique identifier for the device.", "maxLength": 4000, "minLength": 1, "type": "string", "title": "fingerprint" }, "hostname": { "description": "The name of the server to which the customer is connected.", "maxLength": 60, "minLength": 1, "type": "string", "title": "hostname" }, "ip_address": { "description": "The name of the server to which the customer is connected.", "maxLength": 15, "minLength": 7, "type": "string", "title": "ip_address" }, "mobile_phone_model": { "description": "The name of the server to which the customer is connected.", "maxLength": 255, "minLength": 1, "type": "string", "title": "mobile_phone_model" } } }, "Device-Response": { "title": "Device Response", "description": "Device Response", "properties": { "cryptogram_format": { "description": "The format of the cryptogram provided for the digital payment.", "enum": [ "3DSECURE", "EMV" ], "type": "string", "title": "cryptogram_format" } } }, "Device-Specific-Response": { "title": "Device", "description": "Device Specific Response", "properties": { "number": { "description": "The payer's account number associated with a digital payment method.", "maximum": 19, "minimum": 9, "type": "number", "title": "number" }, "expiry_month": { "description": "Two-digit month in which the device specific expires.", "type": "string", "pattern": "^(0?[1-9]|1[0-2])$", "title": "expiry_month" }, "expiry_year": { "description": "Year from the expiry date of the device specific account number.", "type": "string", "pattern": "^[0-9]{2,2}$", "title": "expiry_year" } } }, "Lines": { "type": "string", "maxLength": 100, "minLength": 1, "description": "Address Lines \n- For US RFP only one(1) line of 70 characters is allowed \n- For US ACH Direct Debit payment, unstructured address_lines is mandatory when structured address parameters are not provided and allowed three instances with each line max length of 35 characters. Address Line 1 should have Building info followed by asterik, Street Address ends with a single backslash. Address Line2 should have City followed by asterik, State ends with a single backslash. Address Line 3 should have Zip Code followed by asterik, Country Code ends with a single backslash. For example Zip code*US\\.", "title": "lines" }, "Name": { "title": "name", "type": "object", "properties": { "first_name": { "description": "The payer's first name. \n - For Brazil QR and UK PAYBYBANK creation, name.first_name parameter is mandatory. \n- For US RFP this parameter is mandatory and full name has to be passed in this parameter \n- For US ACH Direct Debit, cutomer.name.first_name parameter is optional with max length 22", "maxLength": 140, "minLength": 1, "type": "string", "title": "first_name" }, "last_name": { "description": "The payer's last name. \n - For Brazil QR and UK PAYBYBANK creation, name.last_name parameter is mandatory.", "maxLength": 50, "minLength": 1, "type": "string", "title": "last_name" }, "company_name": { "description": "The name of the company associated with this address.", "maxLength": 100, "minLength": 1, "type": "string", "title": "company_name" } } }, "Paypal-Response": { "title": "Paypal", "description": "Paypal Method Response", "properties": { "account_email": { "description": "The email address of the payer's PayPal account.", "maxLength": 100, "minLength": 4, "type": "string", "title": "account_email" }, "account_holder": { "description": "The name of the account holder of the payer's PayPal account", "maxLength": 255, "minLength": 1, "type": "string", "title": "account_holder" }, "billing_agreement": { "$ref": "#/$defs/Billing-Agreement" }, "payer_id": { "description": "The unique identifier for the payer assigned by PayPal", "maxLength": 13, "minLength": 1, "type": "string", "title": "payer_id" } } }, "Product-Info": { "title": "Product-Info", "type": "object", "description": "Product related information", "properties": { "id": { "description": "Product ID", "maxLength": 128, "minLength": 1, "type": "string", "title": "id" }, "name": { "description": "Product Name \n - For UK PAYBYBANK creation, product_info.name parameter is mandatory, if product_info object is selected", "maxLength": 128, "minLength": 1, "type": "string", "title": "name" }, "quantity": { "description": "Product Quantity \n - For UK PAYBYBANK creation, product_info.quantity parameter is mandatory, if product_info object is selected", "maximum": 1000000, "minimum": 1, "type": "number", "title": "quantity" }, "amount": { "description": "Product amount \n - For UK PAYBYBANK creation, product_info.amount parameter is mandatory, if product_info object is selected", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "amount" }, "description": { "description": "Description of the product", "maxLength": 300, "minLength": 1, "type": "string", "title": "description" } } }, "Recipient-Name": { "title": "recipient name", "type": "object", "description": "Recipient Name", "properties": { "first_name": { "description": "The first name of the person to whom the order is being shipped.", "maxLength": 50, "minLength": 1, "type": "string", "title": "first_name" }, "last_name": { "description": "The last name or surname of the person to whom the order is being shipped.", "maxLength": 50, "minLength": 1, "type": "string", "title": "last_name" }, "company_name": { "description": "The name of the company associated with this address.", "maxLength": 100, "minLength": 1, "type": "string", "title": "company_name" } } }, "Response": { "title": "Response", "description": "Response", "properties": { "acquirer_code": { "description": "Indicates success or failure of the transaction registration. A value of 0 (zero) indicates success, and a value of 99 indicates failure.", "maxLength": 100, "minLength": 1, "type": "string", "title": "acquirer_code" }, "acquirer_message": { "description": "An additional message indicating the success or failure of the transaction registration. If the registration was successful, this parameter contains the value Data Received. If the registration failed, this parameter contains the value Data Not Receive.", "maxLength": 255, "minLength": 1, "type": "string", "title": "acquirer_message" }, "card_holder_verification": { "$ref": "#/$defs/avs" } } }, "Sdk-Payer-Authentication-Response": { "title": "sdk payer authentication", "description": "sdk payer authentication response", "properties": { "callback_url": { "description": "URL to call after a 3DS challenge has been completed (valid RFC 1738 URL).", "maxLength": 500, "minLength": 1, "type": "string", "title": "callback_url" }, "device_interface": { "description": "The UI formats the payer's device supports for challenges (EMVCosdkInterface).", "maxLength": 256, "minLength": 1, "type": "string", "title": "device_interface" }, "redirect_url": { "description": "Indicates if the application should expect a Redirect URL in CRes to redirect the payer to their issuer's mobile banking app (true/false).", "type": "boolean", "title": "redirect_url" }, "time_out": { "description": "The duration (in seconds) available to the payer to authenticate (Default: 900, range 300-900).", "maximum": 900, "minimum": 300, "type": "number", "title": "time_out" }, "ui_type": { "type": "array", "items": { "type": "string", "description": "The UI types the SDK supports for displaying challenges within the app (EMVCosdkUiType).", "title": "ui_type" } } } }, "Shipping": { "type": "object", "title": "Shipping", "properties": { "address_same_as_billing": { "description": "Indicates whether the shipping address provided is the same as the payer's billing address.", "enum": [ "SAME", "DIFFERENT", "UNKNOWN" ], "type": "string", "title": "address_same_as_billing" }, "recipient_name": { "$ref": "#/$defs/Recipient-Name" }, "phone": { "pattern": "\\+[0-9]{1,3}[-\\ ][0-9()+\\-]{1,30}", "type": "string", "description": "The contact person's phone number in ITU-T E123 format.", "title": "phone" }, "type": { "description": "The type of shipping method used.", "enum": [ "ELECTRONIC", "GROUND", "NOT_SHIPPED", "OVERNIGHT", "PICKUP", "PRIORITY", "SAME_DAY", "VIRTUAL", "TRACKED_DELIVERY", "UNTRACKED_DELIVERY", "IN_STORE_PICKUP", "LOCKER_PICKUP", "HYBRID" ], "type": "string", "title": "type" }, "email": { "pattern": "[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$", "type": "string", "description": "The contact person's email address.The parameter format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.", "title": "email" }, "origin": { "maxLength": 10, "minLength": 1, "type": "string", "description": "The post code or zip code of the address the order is shipped from.", "title": "origin" }, "source": { "description": "The type of shipping method used.", "enum": [ "ADDRESS_ON_FILE", "NEW_ADDRESS" ], "type": "string", "title": "source" }, "carrier": { "maxLength": 200, "minLength": 1, "type": "string", "description": "Service that shipped a physical product.", "title": "carrier" }, "tracking_number": { "maxLength": 40, "minLength": 8, "type": "string", "description": "Tracking number.", "title": "tracking_number" }, "additional_info": { "type": "array", "items": { "$ref": "#/$defs/Additional-Info" } }, "address": { "$ref": "#/$defs/Shipping-Address" } } }, "Shipping-Address": { "title": "Shipping-Address", "type": "object", "description": "Address", "properties": { "lines": { "type": "array", "maxItems": 7, "items": { "$ref": "#/$defs/Lines" }, "title": "lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Customer Street Name.", "title": "street_name" }, "city": { "maxLength": 100, "minLength": 1, "type": "string", "description": "Customer city.", "title": "city" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Customer postal code.", "title": "postal_code" }, "state": { "maxLength": 50, "minLength": 1, "type": "string", "description": "Customer state.", "title": "state" }, "country_code": { "type": "string", "pattern": "^[A-Z]{2,2}$", "description": "Customer country.", "title": "country_code" } } }, "avs": { "title": "avs", "description": "avs", "properties": { "acquirer_code": { "description": "The acquirer AVS response code generated by the card issuing institution.", "maxLength": 100, "minLength": 1, "type": "string", "title": "acquirer_code" }, "gateway_code": { "description": "The address verification result generated to indicate whether the address data supplied matches the data held by the cardholder's issuing bank", "enum": [ "ADDRESS_MATCH", "ADDRESS_ZIP_MATCH", "NAME_ADDRESS_MATCH", "NAME_MATCH", "NAME_ZIP_MATCH", "NOT_AVAILABLE", "NOT_REQUESTED", "NOT_VERIFIED", "NO_MATCH", "SERVICE_NOT_AVAILABLE_RETRY", "SERVICE_NOT_SUPPORTED", "ZIP_MATCH" ], "type": "string", "title": "gateway_code" } } } } }