{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-authentication-payer-response-schema.json", "title": "Authentication Payer Response", "description": "Payment Request", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/citi-authentication-api-openapi.yml#/components/schemas/Authentication-Payer-Response", "type": "object", "required": [ "authentication", "customer", "order", "transaction" ], "properties": { "authentication": { "$ref": "#/$defs/Authentication-Payer-Initiate-Response" }, "customer": { "$ref": "#/$defs/Customer-Authentication-Response" }, "method": { "$ref": "#/$defs/Authentication-Payer-Method-Response" }, "transaction": { "$ref": "#/$defs/Authentication-Transaction-Response" }, "order": { "$ref": "#/$defs/Authentication-Payer-Order-Response" }, "mandate": { "$ref": "#/$defs/Authentication-Mandate" }, "shipping": { "$ref": "#/$defs/Authentication-Payer-Shipping" } }, "additionalProperties": false, "$defs": { "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" } } }, "Authentication-Address": { "type": "object", "description": "Authentication Address", "title": "Authentication Address", "properties": { "city": { "maxLength": 100, "minLength": 1, "type": "string", "description": "City.", "title": "city" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Postal code.", "title": "postal_code" }, "state": { "maxLength": 50, "minLength": 1, "type": "string", "description": "State.", "title": "state" }, "country_code": { "type": "string", "pattern": "^[A-Z]{2,2}$", "description": "Country.", "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" } } }, "Authentication-Customer-Device-Response": { "title": "Authentication Customer Device Response", "description": "Customer-Device.", "required": [ "ciphertext", "nonce", "tag" ], "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" }, "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" }, "ciphertext": { "description": "Base64 encoded ciphertext.", "maxLength": 10000, "minLength": 1, "type": "string", "title": "ciphertext" }, "nonce": { "description": "Base64 encoded GCM nonce.", "maxLength": 16, "minLength": 16, "type": "string", "title": "nonce" }, "tag": { "description": "Base64 encoded GCM tag.", "maxLength": 24, "minLength": 24, "type": "string", "title": "tag" } } }, "Authentication-Customer-History-Payer-Request": { "title": "Authentication Customer History Payer Request", "description": "Authentication-Customer-Payer-Request", "properties": { "attempts": { "description": "Number of attempts to add/change a card in the last 24 hours (0-99).", "maximum": 99, "minimum": 1, "type": "number", "title": "attempts" }, "annual_activity": { "description": "Number of transactions (successful/abandoned) in the last year (0-999).", "maximum": 999, "minimum": 1, "type": "number", "title": "annual_activity" }, "creation_date": { "type": "string", "format": "date", "description": "The date the payer created an account (yyyy-mm-dd).", "title": "creation_date" }, "issuer_acs_id": { "description": "The unique transaction identifier used by the issuer's ACS.", "maxLength": 36, "minLength": 1, "type": "string", "title": "issuer_acs_id" }, "authentication_token": { "description": "The authentication token obtained from a previous request.", "maxLength": 32, "minLength": 28, "type": "string", "title": "authentication_token" }, "directory_server_id": { "description": "A unique transaction identifier assigned by the scheme Directory Server.", "maxLength": 50, "minLength": 1, "type": "string", "title": "directory_server_id" }, "authentication_time": { "type": "string", "format": "date-time", "description": "The date and time the payer was authenticated for the prior transaction (YYYY-MM-DDThh:mm:ss.SSSZ).", "title": "authentication_time" }, "authentication_id": { "description": "The gateway transaction ID of a previous Authenticate Payer request to reuse authentication data.", "maxLength": 50, "minLength": 1, "type": "string", "title": "authentication_id" }, "authentication_type": { "description": "The method used to authenticate the payer for a prior transaction.", "enum": [ "3DS_FRICTIONLESS", "3DS_CHALLENGE", "ADDRESS_VERIFICATION", "OTHER" ], "type": "string", "title": "authentication_type" }, "last_updated_date": { "type": "string", "format": "date", "description": "The date the payer's account with you was last updated (yyyy-mm-dd).", "title": "last_updated_date" }, "password_last_changed_date": { "type": "string", "format": "date", "description": "The date the payer's account with you was last updated (yyyy-mm-dd).", "title": "password_last_changed_date" }, "transaction_activity": { "description": "Number of transactions (successful/abandoned) in the last 24 hours (0-99).", "maximum": 99, "minimum": 1, "type": "number", "title": "transaction_activity" }, "shipping_address_date": { "type": "string", "format": "date", "description": "The date you first shipped goods to the provided shipping address (yyyy-mm-dd).", "title": "shipping_address_date" }, "suspicious_activity": { "description": "Have you experienced suspicious activity on the account in the past (true/false).", "type": "boolean", "title": "suspicious_activity" } } }, "Authentication-Customer-Payer-Response": { "title": "Authentication Customer Payer Response", "description": "Authentication-Customer-Payer-Response", "properties": { "action": { "description": "Behaviour relating to the association between the customer account and their card.", "enum": [ "AUTHENTICATION", "REGISTRATION" ], "type": "string", "title": "action" }, "status": { "description": "Status of the card association functionality.", "enum": [ "FAILED", "NOT_SUPPORTED", "SUCCESSFUL", "SUPPORTED" ], "type": "string", "title": "status" }, "method": { "description": "The method used to authenticate the payer.", "enum": [ "CUSTOMER_ACCOUNT_LOGIN", "FEDERATED_IDENTITY_LOGIN", "FIDO_AUTHENTICATION", "ISSUER_ACCOUNT_LOGIN", "NONE", "THIRD_PARTY_ACCOUNT_LOGIN" ], "type": "string", "title": "method" }, "time": { "type": "string", "format": "date-time", "description": "Date and time the payer was authenticated (YYYY-MM-DDThh:mm:ss.SSSZ).", "title": "update_time" } } }, "Authentication-Device-Payment-Response": { "title": "Authentication Device Payment Response", "type": "object", "description": "Device", "properties": { "cryptogram_format": { "description": "The format of the cryptogram provided for the digital payment.", "enum": [ "3DSECURE", "EMV" ], "type": "string", "title": "cryptogram_format" } } }, "Authentication-Mandate": { "title": "Mandate", "properties": { "amount_variability": { "description": "Indicates if all the payments within the agreement use the same amount or if the amount differs between the payments. The parameter must be provided for recurring payment agreements.", "enum": [ "FIXED", "VARIABLE" ], "type": "string", "title": "amount_variability" }, "custom_data": { "description": "Additional information requested for the agreement which cannot be passed using other available data parameters. This parameter must not contain sensitive data.", "maxLength": 2048, "minLength": 1, "type": "string", "title": "custom_data" }, "expiry_date": { "description": "Date at which your agreement with the payer to process payments expires.", "format": "date", "type": "string", "title": "expiry_date" }, "id": { "description": "Your identifier for the agreement you have with the payer to process payments.When you collect cards from your payers and store them for later use, you must provide an agreement ID when you use the stored values for: Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions. Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments. Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.Industry Practice: you have an agreement with the payer that authorizes you to initiate additional transactions to fulfil a standard business practice related to an original payment initiated by the payer. For example, a delayed charge for use of the hotel mini bar after the payer has checked out or a no show penalty charge when the payer fails to show for a booking. When you first establish an agreement with the payer you should also specify the type of agreement in agreement.type. \n- For Brazil PIX Initiation, this parameter is mandatory with max length 29 in format RR33479023yyyyMMddBRkkkkkkkkk and this should be same id received as part of push notification while creating the mandate", "maxLength": 100, "minLength": 1, "type": "string", "title": "id" }, "maximum_amount": { "description": "The maximum amount for a single payment in the series as agreed with the payer under your agreement with them. The amount must be provided in the currency of the order.", "maxLength": 14, "minLength": 1, "type": "string", "title": "maximum_amount" }, "minimum_amount": { "description": "The minimum amount for a single payment in the series as agreed with the payer under your agreement with them. The amount must be provided in the currency of the order.", "maxLength": 14, "minLength": 1, "type": "string", "title": "minimum_amount" }, "minimum_days": { "description": "The minimum number of days between payments agreed with the payer under your agreement with them.", "maximum": 9999, "minimum": 1, "type": "number", "title": "minimum_days" }, "number_of_payments": { "description": "The number of merchant-initiated payments within the recurring payment agreement.", "maximum": 999, "minimum": 1, "type": "number", "title": "number_of_payments" }, "frequency": { "description": "The frequency of the payments within the series as agreed with the payer under your agreement with them.", "enum": [ "AD_HOC", "DAILY", "FORTNIGHTLY", "MONTHLY", "OTHER", "QUARTERLY", "TWICE_YEARLY", "WEEKLY", "YEARLY" ], "type": "string", "title": "frequency" }, "type": { "description": "The type of commercial agreement that the payer has with you.Specify the agreement type when you have provided a value for agreement.id and this payment is the first in a series of payments. The default value is OTHER.", "enum": [ "INSTALLMENT", "OTHER", "RECURRING", "UNSCHEDULED" ], "type": "string", "title": "frequency" }, "start_date": { "description": "This is the effective start date for the payment agreement.", "format": "date", "type": "string", "title": "start_date" } }, "type": "object" }, "Authentication-Payer-Card-Response": { "title": "Authentication Payer Card Response", "description": "Card informations", "properties": { "account_type": { "description": "Savings/checking option for some cards (e.g., Maestro).", "enum": [ "CHECKING", "SAVINGS" ], "type": "string", "title": "account_type" }, "brand": { "description": "The brand name used to describe the card that is recognized and accepted globally. For many major card types this will match the scheme name. In some markets, a card may also be co-branded with a local brand that is recognized and accepted within its country/region of origin (see card.localBrand).You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.", "enum": [ "AMEX", "CHINA_UNIONPA", "DINERS_CLUB", "DISCOVER", "JCB", "LOCAL_BRAND_ONLY", "MAESTRO", "MASTERCARD", "RUPAY", "UATP", "UNKNOWN", "VISA" ], "type": "string", "title": "brand" }, "scheme": { "description": "The organization that owns a card brand and defines operating regulations for its use. The card scheme also controls authorization and settlement of card transactions among issuers and acquirers.", "enum": [ "AMEX", "CHINA_UNIONPA", "DINERS_CLUB", "DISCOVER", "JCB", "LOCAL_BRAND_ONLY", "MAESTRO", "MASTERCARD", "RUPAY", "UATP", "UNKNOWN", "VISA" ], "type": "string", "title": "scheme" }, "number": { "description": "The customer’s payment card number, also known as the Primary Account Number (PAN).", "maxLength": 23, "minLength": 9, "type": "string", "title": "number" }, "issuer": { "description": "The issuer of the card, if known.", "maxLength": 255, "minLength": 1, "type": "string", "title": "cvv" }, "funding_method": { "description": "The method used by the payer to provide the funds (Charge, Credit, Debit).", "enum": [ "CHARGE", "CREDIT", "DEBIT", "UNKNOWN" ], "type": "string", "title": "funding_method" }, "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": "Two-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" }, "device_payment": { "$ref": "#/$defs/Authentication-Device-Payment-Response" }, "device_specific": { "$ref": "#/$defs/Device-Specific-Response" } } }, "Authentication-Payer-Initiate-Response": { "title": " Payer Authentication Response", "required": [ "method_completed", "method_supported", "requestor_id", "requestor_name", "payer_interaction" ], "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).", "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": "Additional information returned by the scheme or issuer in the authentication response.", "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" }, "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" }, "signed_content": { "description": "A JSON Web Signature (JWS) object returned by the issuer's ACS (acsSignedContent).", "maxLength": 13684, "minLength": 1, "type": "string", "title": "signed_content" }, "amount": { "description": "Product amount", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "amount" }, "method": { "description": "The method that the issuer will use to authenticate the payer.", "enum": [ "DYNAMIC", "OUT_OF_BAND", "STATIC" ], "type": "string", "title": "method" }, "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", "TRUSTED_MERCHANT" ], "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_acs_url": { "type": "string", "maxLength": 500, "minLength": 1, "description": "The URL of the issuer's ACS to be used for the challenge flow (valid RFC 1738 URL).", "title": "redirect_acs_url" }, "redirect_c_req": { "type": "string", "maxLength": 4000, "minLength": 1, "description": "The Base64 URL encoded CReq message to be used for the challenge flow.", "title": "redirect_c_req" }, "redirect_html": { "type": "string", "maxLength": 40960, "minLength": 1, "description": "The Base64 URL encoded CReq message to be used for the challenge flow.", "title": "redirect_html" }, "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" }, "line_of_business": { "type": "string", "maxLength": 100, "minLength": 1, "description": "Identifier for different lines of business configured in the merchant profile.", "title": "line_of_business" }, "time": { "type": "string", "format": "date-time", "description": "Date and time of the payer authentication being performed (YYYY-MM-DDThh:mm:ss.SSSZ).", "title": "time" }, "version": { "description": "The form of payer authentication selected or available for use by the gateway.", "enum": [ "3DS2", "RUPAY", "PASSKEY", "NONE" ], "type": "string", "title": "version" } } }, "Authentication-Payer-Method-Response": { "type": "object", "title": "Authentication Payer Method Response", "required": [ "type" ], "properties": { "card": { "$ref": "#/$defs/Authentication-Payer-Card-Response" }, "holder_name": { "$ref": "#/$defs/Holder-Name" }, "type": { "description": "Method specified by the customer for the transaction \n- Provide CARD for CARD transactions", "type": "string", "enum": [ "CARD", "GOOGLEPAY", "APPLEPAY" ], "title": "type" }, "token_id": { "description": "Session identification number", "type": "string", "minLength": 1, "maxLength": 50, "title": "token_id" }, "token_type": { "description": "Token type.", "enum": [ "ALT_TOKEN", "NETWORK_TOKEN", "ISSUER_TOKEN", "CITI_TOKEN" ], "type": "string", "title": "token_type" } } }, "Authentication-Payer-Order-Response": { "title": "Authentication Payer Order", "required": [ "id", "amount", "currency_code", "creation_date_time", "update_time", "charge_amount", "charge_type", "total_auth_amount", "total_captured_amount", "total_refunded_amount", "avs_action", "avs_response" ], "properties": { "id": { "description": "A unique identifier for this order.", "maxLength": 40, "minLength": 1, "type": "string", "title": "id" }, "amount": { "description": "The total amount for the order. This is the net amount plus any merchant charge amounts.If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount, order.merchantCharge.amount and order.dutyAmount), minus the order.discountAmount must equal the net amount.The value of this parameter in the response is zero if payer funds are not transferred.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "amount" }, "authentication_status": { "description": "Indicates the result of payer authentication.", "enum": [ "AUTHENTICATION_ATTEMPTED", "AUTHENTICATION_AVAILABLE", "AUTHENTICATION_EXEMPT", "AUTHENTICATION_FAILED", "AUTHENTICATION_NOT_IN_EFFECT", "AUTHENTICATION_NOT_SUPPORTED", "AUTHENTICATION_PENDING", "AUTHENTICATION_REJECTED", "AUTHENTICATION_REQUIRED", "AUTHENTICATION_SUCCESSFUL", "AUTHENTICATION_UNAVAILABLE" ], "type": "string", "title": "authentication_status" }, "creation_date_time": { "type": "string", "format": "date-time", "description": "The date and time the gateway considers the order to have been created. GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ)", "title": "creation_date_time" }, "currency_code": { "description": "The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.", "enum": [ "USD" ], "type": "string", "title": "currency_code" }, "charge_amount": { "description": "The amount of the additional fee that you are charging the payer.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "charge_amount" }, "update_time": { "type": "string", "format": "date-time", "description": "The date and time the gateway considers the order to have last been updated. GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ)", "title": "update_time" }, "mcc": { "description": "The invoice number you issued for this order", "maxLength": 4, "minLength": 4, "type": "string", "title": "mcc" }, "charge_type": { "description": "The type of the additional fee that you are charging the payer.", "enum": [ "SURCHARGE" ], "type": "string", "title": "charge_type" }, "net_amount": { "description": "The total item amount for the order.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "net_amount" }, "reference": { "description": "An optional identifier for the order (e.g., shopping cart or invoice number).", "maxLength": 200, "minLength": 1, "type": "string", "title": "reference" }, "shipping_and_handling_amount": { "description": "The total shipping and handling amount for the order, including taxes on the shipping and/or handling", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "shipping_and_handling_amount" }, "shipping_and_handling_tax_amount": { "description": "The tax amount levied on the shipping and handling amount for the order.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "shipping_and_handling_tax_amount" }, "shipping_and_handling_tax_rate": { "description": "The tax rate applied to the shipping and handling amount for the order to determine the shipping and handling tax amount.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "shipping_and_handling_tax_rate" }, "discount_amount": { "description": "The total amount of the discount you have applied to the order", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "discount_amount" }, "tax_registration_id": { "description": "Your tax registration identifier provided by the Federal/National tax authority (for example, federal tax identification number, ABN).If you are a Canadian merchant, use this parameter to provide your Tax Registration ID for paying Harmonized Sales Tax (HST) or Goods and Services Tax (GST) collected by the Canada Revenue Agency.", "maxLength": 30, "minLength": 1, "type": "string", "title": "tax_registration_id" }, "total_auth_amount": { "description": "The amount that has been successfully authorized for this order.", "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.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "total_captured_amount" }, "total_refunded_amount": { "description": "The amount that has been successfully captured for this order.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "total_refunded_amount" }, "certainty": { "description": "Indicates if you expect to capture the full order amount for which you are requesting authorization.If you do not provide a value for order.certainty the default configured for you by your payment service provider will be used. The value provided in the response shows the value the gateway sent to the acquirer.", "enum": [ "ESTIMATED", "FINAL" ], "type": "string", "title": "certainty" }, "date": { "description": "The date the payer placed the order.", "format": "date", "type": "string", "title": "date" }, "description": { "description": "Short textual description of the contents of the order.", "maxLength": 127, "minLength": 1, "type": "string", "title": "description" }, "discount_code": { "description": "The code you use to identify the reason for the discount.", "maxLength": 40, "minLength": 1, "type": "string", "title": "discount_code" }, "discount_description": { "description": "A description of your reason for the discount.", "maxLength": 127, "minLength": 1, "type": "string", "title": "discount_description" }, "duty_amount": { "description": "The duty amount (also known as customs tax, tariff or dues) for the order.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "duty_amount" }, "entity": { "description": "Your identifier for the part of your organization that is responsible for the order.You might provide this data when you want to track the accountability for the order. For example, store number, sales region, branch, or profit center.", "maxLength": 40, "minLength": 1, "type": "string", "title": "entity" }, "status": { "description": "The current progression of this order through the payment process.", "enum": [ "AUTHENTICATED", "AUTHENTICATION_INITIATED", "AUTHENTICATION_NOT_NEEDED", "AUTHENTICATION_UNSUCCESSFUL", "AUTHORIZED", "CANCELLED", "CAPTURED", "CHARGEBACK_PROCESSED", "DISBURSED", "DISPUTED", "EXCESSIVELY_REFUNDED", "FAILED", "FUNDING", "INITIATED", "PARTIALLY_CAPTURED", "PARTIALLY_REFUNDED", "REFUNDE", "REFUND_REQUESTED", "VERIFIED" ], "type": "string", "title": "status" }, "tax_amount": { "description": "The total tax 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.unitTaxAmount for all the line items (total tax amount).If you provide both this value and line item data, then the order.taxAmount MUST equal the total tax amount.", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "tax_amount" }, "retailer_location": { "description": "Provide information about the location of the retailers for goods or services included in this order. Where a retailer is located in a country different from your country, they are considered a foreign retailer, otherwise they are considered a domestic retailer.", "enum": [ "DOMESTIC_ONLY", "FOREIGN_AND_DOMESTIC", "FOREIGN_ONLY" ], "type": "string", "title": "retailer_location" }, "avs_action": { "description": "The action to be performed for the Address Verification Service (AVS) Response Code.", "enum": [ "NO_ACTION", "REJECT", "REVIEW" ], "type": "string", "title": "avs_action" }, "avs_response": { "description": "The Address Verification Service (AVS) Response Code for which you are defining the rule.", "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": "avs_response" }, "invoice_number": { "description": "The invoice number you issued for this order", "maxLength": 25, "minLength": 1, "type": "string", "title": "invoice_number" } }, "type": "object" }, "Authentication-Payer-Shipping": { "type": "object", "title": "Authentication Payer 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" ], "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" }, "address": { "$ref": "#/$defs/Shipping-Address" } } }, "Authentication-Transaction-Response": { "title": "Transaction", "required": [ "id", "amount", "status", "description" ], "properties": { "additional_info": { "type": "array", "items": { "$ref": "#/$defs/Additional-Info" } }, "id": { "description": "Unique Transaction identification provided by the merchant during transaction creation", "maxLength": 128, "minLength": 1, "type": "string", "title": "id" }, "creation_date_time": { "type": "string", "format": "date-time", "readOnly": true, "description": "Date and time at which request was received in UTC timezone", "title": "creation_date_time" }, "update_time": { "type": "string", "format": "date-time", "readOnly": true, "description": "Date and time at which request was received in UTC timezone", "title": "update_time" }, "amount": { "description": "Transaction amount", "maximum": 1000000000000000000, "minimum": 0.01, "type": "number", "title": "amount" }, "gateway_recommendation": { "description": "Provides a recommendation for your next action based on the outcome of the transaction.", "enum": [ "DO_NOT_PROCEED", "DO_NOT_PROCEED_ABANDON_ORDER", "PROCEED", "RESUBMIT_WITH_ALTERNATIVE_PAYMENT_DETAILS" ], "type": "string", "title": "gateway_recommendation" }, "status": { "type": "string", "enum": [ "FAILED", "PENDING", "SUCCESS", "UNKNOWN" ], "description": "A system-generated high level overall result of the transaction/operation.Value must be a member of the following list. The values are case sensitive.", "title": "status" }, "description": { "description": "Transaction status description", "maxLength": 250, "minLength": 1, "type": "string", "title": "description" }, "authentication_status": { "description": "Indicates the result of payer authentication.", "enum": [ "AUTHENTICATION_ATTEMPTED", "AUTHENTICATION_AVAILABLE", "AUTHENTICATION_EXEMPT", "AUTHENTICATION_FAILED", "AUTHENTICATION_NOT_IN_EFFECT", "AUTHENTICATION_NOT_SUPPORTED", "AUTHENTICATION_PENDING", "AUTHENTICATION_REJECTED", "AUTHENTICATION_REQUIRED", "AUTHENTICATION_SUCCESSFUL", "AUTHENTICATION_UNAVAILABLE" ], "type": "string", "title": "authentication_status" }, "currency_code": { "description": "ISO 4217 Currency Code for instance USD/GBP/EUR", "enum": [ "USD" ], "type": "string", "title": "currency_code" }, "type": { "description": "Indicates the result of payer authentication.", "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" } } }, "Customer-Authentication-Response": { "title": "Customer Authentication Response", "properties": { "account": { "title": "customer account authentication response", "description": "Account Details", "properties": { "number": { "description": "Your identifier for the payer's account with you (immutable ID).", "maxLength": 40, "minLength": 1, "type": "string", "title": "number" }, "authentication": { "$ref": "#/$defs/Authentication-Customer-Payer-Response" }, "history": { "$ref": "#/$defs/Authentication-Customer-History-Payer-Request" } } }, "name": { "$ref": "#/$defs/Name" }, "tax_id": { "description": "Customer's payer identification (e.g., email address)", "maxLength": 100, "minLength": 1, "type": "string", "title": "tax_id" }, "email": { "description": "Customer email", "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" }, "mobile_phone": { "description": "Customer phone.", "pattern": "\\+[0-9]{1,3}[-\\ ][0-9()+\\-]{1,30}", "type": "string", "title": "mobile_phone" }, "device": { "$ref": "#/$defs/Authentication-Customer-Device-Response" }, "address": { "$ref": "#/$defs/Authentication-Address" } } }, "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" } } }, "Holder-Name": { "title": "Holder-Name", "description": "The name of the bank account holder for the payer's bank account.", "properties": { "first_name": { "description": "first_name. \n - For ACH Pay and verify transaction method.holder.first_name parameter is mandatory \n - For India Card transactions, method.holder.first_name parameter is mandatory", "maxLength": 50, "minLength": 1, "type": "string", "title": "first_name" }, "last_name": { "description": "last_name. \n - For ACH Pay and verify transaction method.holder.last_name parameter is mandatory \n - For India Card transactions, method.holder.last_name parameter is mandatory", "maxLength": 50, "minLength": 1, "type": "string", "title": "last_name" } } }, "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" } } }, "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" } } }, "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-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" } } } } }