{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "CyberSource API Schemas", "description": "JSON Schema definitions extracted from CyberSource REST API specification", "definitions": { "createPayment_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment.\n\nPossible values are one or more of follows:\n\n - `DECISION_SKIP`: Use this when you want to skip Decision Manager service(s).\n\n - `TOKEN_CREATE`: Use this when you want to create a token from the card/bank data in your payment request.\n\n - `CONSUMER_AUTHENTICATION`: Use this when you want to check if a card is enrolled in Payer Authentication along with your payment request.\n\n - `VALIDATE_CONSUMER_AUTHENTICATION`: Use this after you acquire a Payer Authentication result that needs to be included for your payment request.\n \n - `AP_INITIATE`: Use this when Alternative Payment Initiate service is requested.\n\n - `WATCHLIST_SCREENING` : Use this when you want to call Watchlist Screening service.\n\n - `AP_SALE` : Use this when Alternative Payment Sale service is requested.\n\n\n - `AP_AUTH` : Use this when Alternative Payment Authorize service is requested.\n\n - `AP_REAUTH` : Use this when Alternative Payment Reauthorize service is requested.\n", "items": { "type": "string" } }, "enableEscrowOption": { "type": "boolean", "description": "Indicates whether to use the customer's escrow agreement.\nPossible values:\n- `true`: yes, use the customer's escrow agreement.\n- `false`: no, do not use the customer's escrow agreement. \n" }, "actionTokenTypes": { "type": "array", "description": "CyberSource tokens types you are performing a create on.\nIf not supplied the default token type for the merchants token vault will be used.\n\nValid values:\n- customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress\n", "items": { "type": "string" } }, "binSource": { "type": "string", "description": "Bin Source File Identifier.\nPossible values:\n- itmx\n- rupay\n" }, "capture": { "type": "boolean", "description": "Indicates whether to also include a capture in the submitted authorization request or not.\n\nPossible values:\n- `true`: Include a capture with an authorization request.\n- `false`: (default) Do not include a capture with an authorization request.\n\n#### Used by\n**Authorization and Capture**\nOptional field.\n", "default": false }, "processorId": { "type": "string", "maxLength": 3, "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n" }, "businessApplicationId": { "type": "string", "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" }, "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "commerceIndicatorLabel": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "transactionTimeout": { "type": "integer", "maximum": 99999, "description": "The time-out limit in seconds for the transaction. The time-out limit starts when the customer is directed to the merchant URL that is included in the sale service response. The maximum value is 99999 (about 27 hours). When the transaction times out, the payment system changes the status to abandoned." }, "intentsId": { "type": "string", "maxLength": 26, "description": "Set to the value of the requestID field returned in the order service response." }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "authorizationOptions": { "type": "object", "properties": { "authType": { "type": "string", "maxLength": 15, "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" }, "panReturnIndicator": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nThe field contains the PAN translation indicator for American Express Contactless Transaction. Valid value is\u00a0\n\n1- Expresspay Translation, PAN request\n2- Expresspay Translation, PAN and Expiry date request\n" }, "verbalAuthCode": { "type": "string", "maxLength": 7, "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n" }, "verbalAuthTransactionId": { "type": "string", "maxLength": 15, "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n" }, "authIndicator": { "type": "string", "maxLength": 1, "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - **0**: Preauthorization\n - **1**: Final authorization\n\nTo set the default for this field, contact CyberSource Customer Support.\n\n#### Barclays and Elavon\nThe default for Barclays and Elavon is 1 (final authorization). To change the default for this field, contact CyberSource Customer Support.\n\n#### CyberSource through VisaNet\nWhen the value for this field is 0, it corresponds to the following data in the TC 33 capture file:\n - Record: CP01 TCR0\n - Position: 164\n - Field: Additional Authorization Indicators\nWhen the value for this field is 1, it does not correspond to any data in the TC 33 capture file.\n" }, "partialAuthIndicator": { "type": "boolean", "description": "Flag that indicates whether the transaction is enabled for partial authorization. When the request includes this\nfield, this value overrides the information in your account. Possible values:\n- `true`: Enable the transaction for partial authorization.\n- `false`: Do not enable the transaction for partial authorization.\n\n#### PIN debit\nRequired field for partial authorizations that use PIN debit purchase; otherwise, not used.\n\n#### Used by\n**Authorization**\nOptional field.\n\n#### CyberSource through VisaNet\nTo set the default for this field, contact CyberSource Customer Support.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 164\n- Field: Additional Authorization Indicators\n" }, "extendAuthIndicator": { "type": "string", "maxLength": 5, "description": "Indicates Authorization extension transaction. Extension transaction is used to prolong the settlement period by one additional settlement cycle period.\n\nPossible values:\n- true: Transaction is an Authorization Extension transaction. \n- false: Transaction is not an Authorization Extension transaction.\n" }, "balanceInquiry": { "type": "boolean", "description": "Flag that indicates whether to return balance information.\n\nPossible values:\n- `true`: Return balance information.\n- `false`: Do not return balance information.\n\n#### Used by\n**Authorization**\nRequired for a balance inquiry; otherwise, not used.\n\n#### PIN debit\nRequired for a balance inquiry request of a PIN debit purchase; otherwise, not used.\n" }, "ignoreAvsResult": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization\nreceives an AVS decline, as indicated by a reply flag value of DAVSNO.\n\nPossible values:\n- `true`: Ignore the results of AVS checking and run the capture service.\n- `false` (default): If the authorization receives an AVS decline, do not run the capture service.\nWhen the value of this field is `true`, the list in the `processingInformation.authorizationOptions.declineAvsFlags` field is ignored.\n\n#### Used by\n**Authorization**\nOptional field.\nString (3)\n", "default": false }, "declineAvsFlags": { "type": "array", "description": "Comma-separated list of AVS flags that cause the reply flag `DAVSNO` to be returned.\n\n**Important** To receive declines for the AVS code `N`, you must include the value `N` in the comma-separated\nlist.\n\n ### AVS Codes for Cielo 3.0 and CyberSource Latin American Processing\n\n **Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports.\n In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America.\n The information in this section is for the specific processing connection called CyberSource Latin American Processing.\n It is not for any other Latin American processors that CyberSource supports.\n\n|AVS Code|Description|\n|--- |--- |\n|D|Partial match: postal code and address match.|\n|E|Not supported: AVS is not supported for this card type. _or_ Invalid: the acquirer returned an unrecognized value for the AVS response.|\n|F|Partial match: postal code matches, but CPF and address do not match.*|\n|G|Not supported: AVS not supported or not verified.|\n|I|No match: AVS information is not available.|\n|K|Partial match: CPF matches, but postal code and address do not match.*|\n|L|Partial match: postal code and CPF match, but address does not match.*|\n|N|No match: postal code, CPF, and address do not match.*|\n|O|Partial match: CPF and address match, but postal code does not match.*|\n|R|Not supported: your implementation does not support AVS _or_ System unavailable.|\n|T|Partial match: address matches, but postal code and CPF do not match.*|\n|V|Match: postal code, CPF, and address match.*|\n|* CPF (Cadastro de Pessoas Fisicas) is required only for Redecard in Brazil.||\n\n### AVS Codes for All Other Processors\n\n**Note** The list of AVS codes for all other processors follows these descriptions of the processor-specific information for these codes.\n\n#### American Express Cards\nFor American Express cards only, you can receive Visa and CyberSource\nAVS codes in addition to the American Express AVS codes.\n\n**Note** For CyberSource through VisaNet, the American Express AVS codes are converted to Visa\nAVS codes before they are returned to you. As a result, you will not receive American Express AVS codes for\nthe American Express card type.

\n\n_American Express Card codes_: `F`, `H`, `K`, `L`, `O`, `T`, `V`\n\n#### Domestic and International Visa Cards\nThe international and domestic alphabetic AVS codes are the Visa standard AVS codes. CyberSource maps\nthe standard AVS return codes for other types of payment cards, including American Express cards, to\nthe Visa standard AVS codes.\n\nAVS is considered either domestic or international, depending on the location of the bank that issued the\ncustomer's payment card:\n- When the bank is in the U.S., the AVS is domestic.\n- When the bank is outside the U.S., the AVS is international.\n\nYou should be prepared to handle both domestic and international AVS result codes:\n- For international cards, you can receive domestic AVS codes in addition to the international AVS codes.\n- For domestic cards, you can receive international AVS codes in addition to the domestic AVS codes.\n\n_International Visa Codes_: `B`, `C`, `D`, `G`, `I`, `M`, `P`\n\n_Domestic Visa Codes_: `A`, `E`,`N`, `R`, `S`, `U`, `W`, `X`, `Y`, `Z`\n\n#### CyberSource Codes\nThe numeric AVS codes are created by CyberSource\nand are not standard Visa codes. These AVS codes\ncan be returned for any card type.\n\n_CyberSource Codes_: `1`, `2`, `3`, `4`\n\n### Table of AVS Codes for All Other Processors\n\n|AVS Code|Description|\n|--- |--- |\n|A|Partial match: street address matches, but 5-digit and 9-digit postal codes do not match.|\n|B|Partial match: street address matches, but postal code is not verified. Returned only for Visa cards not issued in the U.S.|\n|C|No match: street address and postal code do not match. Returned only for Visa cards not issued in the U.S.|\n|D & M|Match: street address and postal code match. Returned only for Visa cards not issued in the U.S.|\n|E|Invalid: AVS data is invalid or AVS is not allowed for this card type.|\n|F|Partial match: card member's name does not match, but billing postal code matches.|\n|G|Not supported: issuing bank outside the U.S. does not support AVS.|\n|H|Partial match: card member's name does not match, but street address and postal code match. Returned only for the American Express card type.|\n|I|No match: address not verified. Returned only for Visa cards not issued in the U.S.|\n|K|Partial match: card member's name matches, but billing address and billing postal code do not match. Returned only for the American Express card type.|\n|L|Partial match: card member's name and billing postal code match, but billing address does not match. Returned only for the American Express card type.|\n|M|See the entry for D & M.|\n|N|No match: one of the following: street address and postal code do not match _or_ (American Express card type only) card member's name, street address, and postal code do not match.|\n|O|Partial match: card member's name and billing address match, but billing postal code does not match. Returned only for the American Express card type.|\n|P|Partial match: postal code matches, but street address not verified. Returned only for Visa cards not issued in the U.S.|\n|R|System unavailable.|\n|S|Not supported: issuing bank in the U.S. does not support AVS.|\n|T|Partial match: card member's name does not match, but street address matches. Returned only for the American Express card type.|\n|U|System unavailable: address information unavailable for one of these reasons: The U.S. bank does not support AVS outside the U.S. _or_ The AVS in a U.S. bank is not functioning properly.|\n|V|Match: card member's name, billing address, and billing postal code match. Returned only for the American Express card type.|\n|W|Partial match: street address does not match, but 9-digit postal code matches.|\n|X|Match: street address and 9-digit postal code match.|\n|Y|Match: street address and 5-digit postal code match.|\n|Z|Partial match: street address does not match, but 5-digit postal code matches.|\n|1|Not supported: one of the following: AVS is not supported for this processor or card type _or_ AVS is disabled for your CyberSource account. To enable AVS, contact CyberSource Customer Support.|\n|2|Unrecognized: the processor returned an unrecognized value for the AVS response.|\n|3|Match: address is confirmed. Returned only for PayPal Express Checkout.|\n|4|No match: address is not confirmed. Returned only for PayPal Express Checkout.|\n|5|No match: no AVS code was returned by the processor.|\n", "items": { "type": "string" } }, "ignoreCvResult": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives a CVN decline, as indicated by an `processorInformation.cardVerification.resultCode` value of `D` or `N`.\nPossible values:\n- `true`: Ignore the results of CVN checking and run the capture service.\n- `false` (default): If the authorization receives a CVN decline, do not run the capture service.\n\n#### Used by\n**Authorization**\nOptional field.\n", "default": false }, "initiator": { "type": "object", "properties": { "type": { "type": "string", "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n" }, "credentialStoredOnFile": { "type": "boolean", "description": "Indicates to the issuing bank two things:\n- The merchant has received consent from the cardholder to store their card details on file\n- The merchant wants the issuing bank to check out the card details before the merchant initiates their first transaction for this cardholder.\nThe purpose of the merchant-initiated transaction is to ensure that the cardholder's credentials are valid (that the card is not stolen or has restrictions) and that the card details are good to be stored on the merchant's file for future transactions.\n\nValid values:\n- `true` means merchant will use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n- `false` means merchant will not use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n\n**NOTE:** The value for this field does not correspond to any data in the TC 33 capture file5.\n\nThis field is supported only for Visa transactions on CyberSource through VisaNet.\n" }, "storedCredentialUsed": { "type": "boolean", "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **true** means the merchant-initiated transaction came from a card that was already stored on file.\n- **false** means the merchant-initiated transaction came from a card that was not stored on file.\n" }, "merchantInitiatedTransaction": { "type": "object", "properties": { "reason": { "type": "string", "maxLength": 1, "description": "Reason for the merchant-initiated transaction or incremental authorization. Possible values:\n- `1`: Resubmission\n- `2`: Delayed charge\n- `3`: Reauthorization for split shipment\n- `4`: No show\n- `5`: Account top up\nThis field is required only for the five kinds of transactions in the preceding list.\nThis field is supported only for merchant-initiated transactions and incremental authorizations.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 160-163\n- Field: Message Reason Code\n" }, "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n\nIf the current payment request includes a token instead of an account number, the following time limits apply for the value of this field:\n- For a **resubmission**, the transaction ID must be less than 14 days old.\n- For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old.\n\n**NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported\nonly for Visa transactions on CyberSource through VisaNet.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 61, "description": "Amount of the original authorization.\n\nThis field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech.\n" }, "agreementId": { "type": "string", "maxLength": 140, "description": "An API to carry the agreement ID generated for recurring and unscheduled Card on file transaction. the merchant generates this per card holder or per payment agreement and shares the generated unique ID in the subsequent transactions. This can contain foreign/arabic character set also. Cybersource forwards this value to the Saudi Payment processor.\n" } } } } }, "billPayment": { "type": "boolean", "description": "Indicates payment for bill or payment towards existing contractual loan.\n\nPossible values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n\nOptional request field.\n" }, "billPaymentType": { "type": "string", "description": "Reason for the payment.\n\nPossible values:\n- 001: Public utilities / Utility payment\n- 002: Government services\n- 003: Cellular / Mobile phone top-up\n- 004: Coupon payment\n- 005: Installment based repayment\n- 006: Billing payment\n- 007: Tax payment\n- 008: Tax payment refunds\n\nThe value for this field corresponds to the following data in the TC 33A capture file (applicable to Brazil):\n- Record: CP07 TCR0\n- Position: 48-50\n- Field: Bill Payment Transaction Type Identifier\n\nThe value for this field corresponds to the following data in the TC 33A capture file (applicable to Installment)\nbased Repayment):\n- Record: CP01 TCR6\n- Position: 154-156\n- Field: Bill Payment Transaction Type Identifier\n\n\nThis field is supported for\n1. Bill payments in Brazil with Mastercard on CyberSource through VisaNet.\n2. Installment based repayment transactions on Cybersource through VisaNet.\n" }, "redemptionInquiry": { "type": "boolean", "description": "Flag that indicates the payment request is a redemption inquiry.\n\nPossible values:\n - `true`\n - `false`\n" }, "transportationMode": { "type": "string", "description": "Type of transportation mode :\n\nPossible Values:\n- 00 = Unknown\n- 01 = Urban bus\n- 02 = Interurban bus\n- 03=Lighttrainmasstransit(Underground Metro LTR)\n- 04 = Train\n- 05 = Commuter train\n- 06 = Water-borne vehicle\n- 07 = Toll\n- 08 = Parking\n- 09 = Taxi\n- 10 = High-speed train\n- 11 = Rural bus\n- 12 = Express commuter train\n- 13 = Para transit\n- 14 = Self drive vehicle\n- 15 = Coach\n- 16 = Locomotive\n- 17 = Powered motor coach\n- 18 = Trailer\n- 19 = Regional train\n- 20 = Inter-city\n- 21 = Funicular train\n- 22 = Cable car\n" }, "aggregatedAuthIndicator": { "type": "string", "description": "Indicates if transaction is an aggregated auth\n\nPossible values:\n- **true**\n- **false**\n" }, "debtRecoveryIndicator": { "type": "string", "description": "Indicates if transaction is a debt recovery request\n\nPossible values:\n- **true**\n- **false**\n" }, "deferredAuthIndicator": { "type": "boolean", "description": "Flag that indicates whether the authorization request was delayed because connectivity was interrupted.\n\nPossible values:\n - `true` (Deferred authorization)\n - `false` (default: Not a deferred authorization)\n" }, "cashAdvanceIndicator": { "type": "boolean", "description": "This API field enables the merchant to indicate that a given transaction is Cash Advance.\n\nCash advance or Cash disbursement functionality allows a merchant to dispense cash at a point of sale.\nIt provides the ability of a POS system to act like an ATM. These terminals are typically seen in bank\nbranches where customers can use their card and withdraw cash or at merchant locations where ATMs are sparse.\n\nPossible values:\n - `true` (Cash advance is supported)\n - `false` (default: cash advance is not supported)\n" }, "splitPaymentTransaction": { "type": "boolean", "description": "#### Visa Platform Connect\nIndicates split payment transaction. A split payment allows the use of two payment methods for a single transaction.\n\nPossible values:\n - `true` (split payment transaction is supported)\n - `false` (default: split payment transaction is not supported)\n" }, "cardVerificationIndicator": { "type": "boolean", "description": "This API field will indicate whether a card verification check is being performed during the transaction\n\nPossible values:\n - `true`\n - `false` (default value)\n" }, "transactionMode": { "type": "string", "maxLength": 1, "description": "Transaction mode identifier. Identifies the specific channel from which the transaction originates.\n\nPossible values:\n- M \u2013 Mobile Order\n- T \u2013 Telephone Order\n" }, "aftIndicator": { "type": "boolean", "description": "Indicates whether the transaction is an Account Funding Transaction (AFT). \nThis field is mandatory for Account Funding Transactions (AFT). \n\nPossible values:\n - `true` (This is an AFT transaction)\n - `false` (default value) (This is not an AFT transaction)\n" }, "serviceType": { "type": "string", "maxLength": 10, "description": "Field is used for back-to-back funding transaction and can be defined as a payment flow that automatically transfers funds through a real-time \nfunding or a live-load. This type of transaction can also be connected to a purchase. \nIn back-to-back funding of general purpose card that is used to make a purchase, two separate accounts are involved: \n- account one is used to make the purchase\n- account two is used to automatically fund or reimburse account one\n\nPossible values:\n- 0B = back to back funding transaction\n- 00 = normal transaction\n- 01 = originator hold\n- 02 = Visa deferred OCT hold, default interval\n- 03 = Visa deferred OCT hold, user-defined interval\n- 09 = Cancel pending deferred OCT request\n- 0I = Visa Direct custom program 1\n- 0Q = uery the status of the deferred OCT\n- A0 = Alias Directory 2\n" }, "balanceUpdate": { "type": "boolean", "description": "Merchant to inform Cybersource whether a transaction is Money load with Balance Update.\n\nPossible values:\n - `true` (This is a Money load with balance update transaction)\n - `false` (default value) (This is not a Money load with balance update transaction)\n" }, "moneyLoad": { "type": "boolean", "description": "Merchant to inform Cybersource whether a transaction is Money load with Money load only.\n\nPossible values:\n - `true` (This is a money load transaction)\n - `false` (default value) (This is not a money load transaction)\n" } } }, "captureOptions": { "type": "object", "properties": { "captureSequenceNumber": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" }, "totalCaptureCount": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" }, "dateToCapture": { "type": "string", "maxLength": 4, "description": "Date on which you want the capture to occur. This field is supported only for CyberSource through VisaNet.\nFormat: `MMDD`\n\n#### Used by\n**Authorization**\nOptional field.\n" }, "isFinal": { "type": "string", "maxLength": 5, "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n" }, "notes": { "type": "string", "maxLength": 255, "description": "An informational note about this settlement. Appears in both the payer's transaction history and the emails that the payer receives.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Used for authbill request when capture field equals true" }, "reconciliationIdAlternate": { "type": "string", "maxLength": 12, "description": "Used by Nike merchant to send 12 digit order number" } } }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", "default": false }, "firstRecurringPayment": { "type": "boolean", "description": "Flag that indicates whether this transaction is the first in a series of recurring payments.\n\nThis field is supported only for **Atos**, **FDC Nashville Global**, and **OmniPay Direct**.\n\nPossible values:\n - `true` Indicates this is the first payment in a series of recurring payments\n - `false` (default) Indicates this is not the first payment in a series of recurring payments.\n", "default": false } } }, "bankTransferOptions": { "type": "object", "properties": { "declineAvsFlags": { "type": "string", "maxLength": 15, "description": "Space-separated list of AVS flags that cause the request to be declined for AVS reasons.\n\n**Important** To receive declines for the AVS code `N`, you must include the value `N` in the space-separated list.\n\n### AVS Codes for Cielo 3.0 and CyberSource Latin American Processing\n\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this section is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n|AVS Code|Description|\n|--- |--- |\n|D|Partial match: postal code and address match.|\n|E|Not supported: AVS is not supported for this card type. _or_ Invalid: the acquirer returned an unrecognized value for the AVS response.|\n|F|Partial match: postal code matches, but CPF and address do not match.*|\n|G|Not supported: AVS not supported or not verified.|\n|I|No match: AVS information is not available.|\n|K|Partial match: CPF matches, but postal code and address do not match.*|\n|L|Partial match: postal code and CPF match, but address does not match.*|\n|N|No match: postal code, CPF, and address do not match.*|\n|O|Partial match: CPF and address match, but postal code does not match.*|\n|R|Not supported: your implementation does not support AVS _or_ System unavailable.|\n|T|Partial match: address matches, but postal code and CPF do not match.*|\n|V|Match: postal code, CPF, and address match.*|\n|* CPF (Cadastro de Pessoas Fisicas) is required only for Redecard in Brazil.||\n\n### AVS Codes for All Other Processors\n\n**Note** The list of AVS codes for all other processors follows these descriptions of the processor-specific information for these codes.\n\n#### American Express Cards\nFor American Express cards only, you can receive Visa and CyberSource AVS codes in addition to the American Express AVS codes.\n\n**Note** For CyberSource through VisaNet, the American Express AVS codes are converted to Visa AVS codes before they are returned to you. As a result, you will not receive American Express AVS codes for the American Express card type.\n\n_American Express Card codes_: `F`, `H`, `K`, `L`, `O`, `T`, `V`\n\n#### Domestic and International Visa Cards\nThe international and domestic alphabetic AVS codes are the Visa standard AVS codes. CyberSource maps the standard AVS return codes for other types of payment cards, including American Express cards, to the Visa standard AVS codes.\n\nAVS is considered either domestic or international, depending on the location of the bank that issued the customer's payment card:\n- When the bank is in the U.S., the AVS is domestic.\n- When the bank is outside the U.S., the AVS is international.\n\nYou should be prepared to handle both domestic and international AVS result codes:\n- For international cards, you can receive domestic AVS codes in addition to the international AVS codes.\n- For domestic cards, you can receive international AVS codes in addition to the domestic AVS codes.\n\n_International Visa Codes_: `B`, `C`, `D`, `G`, `I`, `M`, `P`\n\n_Domestic Visa Codes_: `A`, `E`,`N`, `R`, `S`, `U`, `W`, `X`, `Y`, `Z`\n\n#### CyberSource Codes\nThe numeric AVS codes are created by CyberSource and are not standard Visa codes. These AVS codes can be returned for any card type.\n\n_CyberSource Codes_: `1`, `2`, `3`, `4`\n\n### Table of AVS Codes for All Other Processors\n\n|AVS Code|Description|\n|--- |--- |\n|A|Partial match: street address matches, but 5-digit and 9-digit postal codes do not match.|\n|B|Partial match: street address matches, but postal code is not verified. Returned only for Visa cards not issued in the U.S.|\n|C|No match: street address and postal code do not match. Returned only for Visa cards not issued in the U.S.|\n|D & M|Match: street address and postal code match. Returned only for Visa cards not issued in the U.S.|\n|E|Invalid: AVS data is invalid or AVS is not allowed for this card type.|\n|F|Partial match: card member's name does not match, but billing postal code matches.|\n|G|Not supported: issuing bank outside the U.S. does not support AVS.|\n|H|Partial match: card member's name does not match, but street address and postal code match. Returned only for the American Express card type.|\n|I|No match: address not verified. Returned only for Visa cards not issued in the U.S.|\n|K|Partial match: card member's name matches, but billing address and billing postal code do not match. Returned only for the American Express card type.|\n|L|Partial match: card member's name and billing postal code match, but billing address does not match. Returned only for the American Express card type.|\n|M|See the entry for D & M.|\n|N|No match: one of the following: street address and postal code do not match _or_ (American Express card type only) card member's name, street address, and postal code do not match.|\n|O|Partial match: card member's name and billing address match, but billing postal code does not match. Returned only for the American Express card type.|\n|P|Partial match: postal code matches, but street address not verified. Returned only for Visa cards not issued in the U.S.|\n|R|System unavailable.|\n|S|Not supported: issuing bank in the U.S. does not support AVS.|\n|T|Partial match: card member's name does not match, but street address matches. Returned only for the American Express card type.|\n|U|System unavailable: address information unavailable for one of these reasons: The U.S. bank does not support AVS outside the U.S. _or_ The AVS in a U.S. bank is not functioning properly.|\n|V|Match: card member's name, billing address, and billing postal code match. Returned only for the American Express card type.|\n|W|Partial match: street address does not match, but 9-digit postal code matches.|\n|X|Match: street address and 9-digit postal code match.|\n|Y|Match: street address and 5-digit postal code match.|\n|Z|Partial match: street address does not match, but 5-digit postal code matches.|\n|1|Not supported: one of the following: AVS is not supported for this processor or card type _or_ AVS is disabled for your CyberSource account. To enable AVS, contact CyberSource Customer Support.|\n|2|Unrecognized: the processor returned an unrecognized value for the AVS response.|\n|3|Match: address is confirmed. Returned only for PayPal Express Checkout.|\n|4|No match: address is not confirmed. Returned only for PayPal Express Checkout.|\n|5|No match: no AVS code was returned by the processor.|\n" }, "secCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n" }, "terminalCity": { "type": "string", "maxLength": 4, "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "terminalState": { "type": "string", "maxLength": 2, "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "effectiveDate": { "type": "string", "maxLength": 8, "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n" }, "partialPaymentId": { "type": "string", "maxLength": 25, "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\n" }, "customerMemo": { "type": "string", "maxLength": 80, "description": "Payment related information.\n\nThis information is included on the customer's statement.\n" }, "paymentCategoryCode": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether to process the payment.\n\nUse with deferred payments.\n\nPossible values:\n- `0`: Standard debit with immediate payment (default).\n- `1`: For deferred payments, indicates that this is a deferred payment and that you will send a debit request\nwith `paymentCategoryCode = 2` in the future.\n- `2`: For deferred payments, indicates notification to initiate payment.\n\n#### Chase Paymentech Solutions and TeleCheck\nUse for deferred and partial payments.\n\n#### CyberSource ACH Service\nNot used.\n\n#### RBS WorldPay Atlanta\nNot used.\n" }, "settlementMethod": { "type": "string", "maxLength": 1, "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n" }, "fraudScreeningLevel": { "type": "string", "maxLength": 1, "description": "Level of fraud screening.\n\nPossible values:\n- `1`: Validation \u2014 default if the field has not already been configured for your merchant ID\n- `2`: Verification\n" }, "customerPresent": { "type": "string", "maxLength": 1, "description": "Indicates whether a customer is physically present and whether the customer is enrolling in CyberSource Recurring Billing.\n\nPossible values:\n- `1`: Customer is present and not enrolling.\n- `2`: Customer is not present and not enrolling.\n- `3`: Customer is present and enrolling.\n- `4`: Customer is not present and enrolling.\n" } } }, "purchaseOptions": { "type": "object", "properties": { "isElectronicBenefitsTransfer": { "type": "boolean", "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" }, "type": { "type": "string", "maxLength": 20, "description": "Flag that indicates an EBT voucher transaction. Possible value:\n- `EBT_VOUCHER`: Indicates the PIN debit transaction is an EBT voucher.\n- `BUY`\n- `RENT`\n- `BOOK`\n- `SUBSCRIBE`\n- `DOWNLOAD`\n- `ORDER`\n- `CONTINUE`\n\n#### PIN debit\nRequired field for EBT voucher transactions that use PIN debit purchase; otherwise, not used.\n" }, "eligibilityIndicator": { "type": "string", "maxLength": 20, "description": "This field contains installment data defined by MasterCard.\nPossible values:\n - Y = eligible\n - N = not eligile\n" }, "benefitAmount": { "type": "string", "maxLength": 20, "description": "Workplace benefit amount." }, "benefitType": { "type": "string", "maxLength": 100, "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n" } } }, "electronicBenefitsTransfer": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 4, "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" }, "voucherSerialNumber": { "type": "string", "maxLength": 15, "description": "The serial number printed on the EBT voucher.\n\n#### PIN debit\nRequired field for EBT voucher transactions that use PIN debit purchase; otherwise, not used.\n" } } }, "loanOptions": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 20, "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" }, "assetType": { "type": "string", "maxLength": 1, "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" } } }, "walletType": { "type": "string", "maxLength": 5, "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n" }, "nationalNetDomesticData": { "type": "string", "maxLength": 123, "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n" }, "merchantVerificationValue": { "type": "string", "maxLength": 25, "description": "The override value of the Merchant Verification Value (MVV) received by various card brands. MVV refers to the value assigned by the card brand/network to identify participation in select merchant programs.\n\nSample value for Visa: `101010`\n" }, "japanPaymentOptions": { "type": "object", "properties": { "paymentMethod": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" }, "bonuses": { "type": "array", "description": "An array of objects, each of which contains a bonus month and bonus amount. \nLength of bonuses array is equal to the number of bonuses. Max length = 6. \nIn case of bonus month and amount not specified, null objects to be returned in the array.\nExample: bonuses : [ {\"month\": \"1\",\"amount\": \"200\"}, {\"month\": \"3\",\"amount\": \"2500\"}, null]\n", "items": { "type": "object", "properties": { "month": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the first bonus month. Valid value from 1 to 12.\n" }, "amount": { "type": "string", "maxLength": 8, "description": "This value contains the bonus amount of the first month. Maximum value without decimal 99999999.\n" } } } }, "preapprovalType": { "type": "string", "maxLength": 1, "description": "This will contain the details of the kind of transaction that has been processe. Used only for Japan.\nPossible Values:\n- 0 = Normal (authorization with amount and clearing/settlement; data capture or paper draft)\n- 1 = Negative card authorization (authorization-only with 0 or 1 amount)\n- 2 = Reservation of authorization (authorization-only with amount)\n- 3 = Cancel transaction\n- 4 = Merchant-initiated reversal/refund transactions\n- 5 = Cancel reservation of authorization\n- 6 = Post authorization\n" }, "installments": { "type": "string", "maximum": 99, "description": "Number of Installments.\n" }, "terminalId": { "type": "string", "maxLength": 13, "description": "Unique Japan Credit Card Association (JCCA) terminal identifier.\n\nThe difference between this field and the `pointOfSaleInformation.terminalID` field is that you can define\n`pointOfSaleInformation.terminalID`, but `processingInformation.japanPaymentOptions.terminalId` is\ndefined by the JCCA and is used only in Japan.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n" }, "firstBillingMonth": { "type": "string", "maxLength": 2, "description": "Billing month in MM format.\n" }, "businessName": { "type": "string", "maxLength": 25, "description": "Business name in Japanese characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" }, "businessNameKatakana": { "type": "string", "maxLength": 25, "description": "Business name in Katakana characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" }, "jis2TrackData": { "type": "string", "maxLength": 69, "description": "Japanese Industrial Standard Type 2 (JIS2) track data from the front of the card.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n" }, "businessNameAlphaNumeric": { "type": "string", "maxLength": 25, "description": "Business name in alphanumeric characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" } } }, "mobileRemotePaymentType": { "type": "string", "maxLength": 1, "description": "Type of payment initiated from a cardholder's mobile device. Possible values:\n- `1` : Consumer-initiated remote purchase, face-to-face\n- `2` : Consumer-initiated remote purchase, e-commerce\n- `3` : Consumer-initiated remote purchase, mail order / telephone order\n- `4` : Consumer-initiated bill pay\n- `5` : Consumer-initiated top up\n- `6` : Consumer-initiated cash out\n- `7` : ATM triggered or agent-initiated cash out\n- `8` : Merchant-initiated remote purchase, face-to-face\n- `9` : Merchant-initiated remote purchase, e-commerce\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nOptional field.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the\nTC 33 capture file:\n- Record: CP01 TCR6\n- Position: 94\n- Field: Mastercard Mobile Remote Payment Program Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the\nmerchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "extendedCreditTotalCount": { "type": "string", "maxLength": 1, "description": "A private national-use field submitted by acquirers and issuers in South Africa for South Africa-domestic (intra-country) authorizations and financial requests.\nValues for this field are 00 through 99.\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "payByPointsIndicator": { "type": "boolean", "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n" }, "timeout": { "type": "integer", "description": "Minutes until a pending MyBank transaction will be timed out. Value\nmust be between 5 and 30. Default is 5.\n" }, "isReturnAuthRecordEnabled": { "type": "boolean", "description": "Flag that indicates the functionality we are having for merchants for which auth is done through Cybersource but\nsettlement is done by themselves.\ntrue: functionality is supported. Processor should send raw processor auth response to Merchant.\nfalse: functionality is not supported.\nDefault: false\n" }, "networkPartnerId": { "type": "string", "maxLength": 11, "description": "Merchant payment gateway ID that is assigned by Mastercard and is provided by the acquirer when a registered merchant payment gateway service provider is involved in the transaction.\nThis field is supported for Visa Platform Connect, Chase Paymentech Salem.\n" }, "paymentType": { "type": "string", "maxLength": 3, "description": "Identifier for the payment type.\n" }, "enablerId": { "type": "string", "maxLength": 15, "description": "Enablers are payment processing entities that are not acquiring members and are often the primary relationship owner with merchants and originators. Enablers own technical solutions through which the merchant or originator will access acceptance. The Enabler ID is a five-character hexadecimal identifier that will be used by Visa to identify enablers. Enabler ID assignment will be determined by Visa. Visa will communicate Enablers assignments to enablers.\n" }, "processingInstruction": { "type": "string", "maxLength": 36, "description": "The instruction to process an order.\n- default value: 'NO_INSTRUCTION'\n- 'ORDER_SAVED_EXPLICITLY'\n" }, "transactionTypeIndicator": { "type": "string", "maxLength": 3, "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" }, "purposeOfPayment": { "type": "string", "maxLength": 25, "description": "This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide.\n" }, "languageCode": { "type": "string", "maxLength": 10, "description": "Contains the ISO 639-2 defined language Code\n" }, "originalPaymentId": { "type": "string", "maxLength": 26, "description": "This value is used for linking Authorization extension transaction to the original Authorization transaction \nand for linking MIT (Merchant initiated transaction) with the respective CIT (Customer initiated transaction).\n" }, "amexIndirectModelType": { "type": "string", "maxLength": 2, "description": "Effective with the April 2025 release, American Express is introducing the following new Indirect Acceptor models :\n- Digital Wallet Operator\n - Staged back to back transaction\n - Peer to peer (P2P) transaction\n - Stored value transaction\n- Marketplace\n\nEach model must have a separate American Express Merchant Account number and will be assigned a unique Indirect Model Type value.\n\nValid/Sample Values :\n- `1`: Bill payment provider\n- `2`: Installment payment transaction\n- `3`: Marketplace\n- `4`: Peer to peer transaction\n- `5`: Staged back to back transaction\n- `6`: Stored value transaction\n" }, "walletTransactionIntent": { "type": "number", "maxLength": 2, "description": "Identifies the type of operation being performed by the staged digital wallet operator. The value distinguishes between a Cash-in transaction (coded as \"02\"), where funds are loaded into the digital wallet from a registered payment card, and a Purchase transaction (coded as \"01\"), where the wallet is used to make a payment to a merchant or transfer funds between wallets. This distinction is essential for transaction processing, reporting, and ensuring compliance with the specific rules and requirements associated with each card brand and transaction type.\n" }, "destinationType": { "type": "number", "maxLength": 2, "description": "Identifies the destination/purpose of the cash-in: \n\u2022 04: M2M (Same ownership, same portfolio/arrangement)\n\u2022 05: P2P (For another holder, same wallet/arrangement)\n\u2022 06: Transfer to another arrangement (same ownership)\n\u2022 07: Transfer to another arrangement (other ownership)\n\u2022 08: Transfer to stored value digital wallet.\n" }, "programIndicators": { "type": "object", "description": "Contains program-specific indicators for transaction processing.\n", "properties": { "quickPayment": { "type": "boolean", "maxLength": 5, "description": "Indicator for when a Quick Payment transaction. A Quick Payment Service (QPS) Transaction is a magnetic stripe-based or contact chip-based face-to-face Mastercard POS transaction that occurs at a Peruvian merchant in an eligible merchant category and for an amount equal or less to the CVM limit.\n\nThis field is supported for Mastercard transactions in Peru.\n\nPossible values:\n- `true`: This is a Quick Payment Service transaction\n- `false`: This is not a Quick Payment Service transaction\n\nDefault: null\n" }, "qrInitiated": { "type": "boolean", "maxLength": 5, "description": "Indicator that the transaction was made via QR Payment.\n\nThis field is supported for Mastercard QR e-commerce payment programs in Peru.\n\nPossible values:\n- `true`: Transaction was initiated via QR code\n- `false`: Transaction was not initiated via QR code\n\nDefault: null\n" } } }, "inquiryType": { "type": "string", "maxLength": 2, "description": "Type of inquiry for Zero dollar transactions. Mastercard is introducing Mastercard One Credential, a single, digitally connected credential that offers cardholders the ability to access multiple payment methods. \n\nThis field is used for Product Status Inquiry (PSI), Account Status Inquiry with Product Status Inquiry (ASI with PSI), and Account Status Inquiry with Product Status Inquiry and Probability Indicator.\n\nThis field is supported for Zero dollar transactions only.\n\nPossible values:\n- `01`: Product status inquiry\n- `02`: Account status inquiry with product status inquiry\n- `03`: Account status Inquiry with Product Status Inquiry and Probability Indicator\n\n#### Used by\n**Authorization (Zero dollar transactions)**\nOptional field.\n" } } }, "issuerInformation": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "productName": { "type": "string", "maxLength": 15, "description": "Name of the card product.\n\nPossible value:\n- BNDES\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 115-120\n- Field: Brazil Country Data\n" }, "productSubtype": { "type": "string", "maxLength": 2, "description": "This field would contain the indicator for transaction type\n\nPossible values:\n- AC: Agriculture Maintenance Account\n- AE: Agriculture Debit Account/Electron \n- AG: Agriculture \n- AI: Agriculture Investment Loan\n- CG: Brazil Cargo\n- CS: Construction \n- DS: Distribution \n- HC: Healthcare\n- LP: Visa Large Purchase Advantage\n- MA: Visa Mobile Agent\n- MB: Interoperable Mobile Branchless Banking\n- MG: Visa Mobile General\n- VA: Visa Vale - Supermarket\n- VF: Visa Vale - Fuel\n- VR: Visa Vale - Restaurant\n" }, "typeSelectionIndicator": { "type": "string", "maxLength": 1, "description": "Flag that identifies how the card type was selected.\n\nPossible values:\n- 0: Card type was selected based on default acquirer settings.\n- 1: Customer selected the card type.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "tokenizedPaymentMethod": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 255, "description": "The PayPal-generated ID for the token.\n" } } }, "directDebit": { "type": "object", "properties": { "mandate": { "type": "object", "properties": { "clearingDate": { "type": "string", "maxLength": 8, "description": "This is the date on which the SEPA DD should be executed. Debit date: the day on which the payer's account is debited.\n" } } } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" }, "code": { "type": "string", "maxLength": 50, "description": "Bank code of the consumer's account\n" }, "accountAlias": { "type": "object", "properties": { "id": { "type": "string", "description": "Alias value (phone, email, account number, business number, or organization ID)", "maxLength": 255 }, "type": { "type": "string", "description": "Indicates the kind of alias (phone, email, account number, business number, or account ID) \nPossible values:\n- phone\n- email\n- accountNumber\n- businessNumber\n- accountID" } } } } }, "options": { "type": "object", "properties": { "id": { "type": "string", "description": "Payment option ID name.\nThis is the bank's swift code.Include the option ID name returned in the Options service response.\n", "minLength": 1, "maxLength": 60 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" }, "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } }, "initiationChannel": { "type": "string", "maxLength": 2, "description": "Mastercard-defined code that indicates how the account information was obtained.\n\n- `00`: Card\n- `01`: Mobile Network Operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone\n- `02`: Key fob\n- `03`: Watch using a contactless chip or a fixed (non-removable) secure element not controlled by the MNO\n- `04`: Mobile tag\n- `05`: Wristband\n- `06`: Mobile phone case or sleeve\n- `07`: Mobile phone or smartphone with a fixed (non-removable) secure element controlled by the MNO,for example, code division multiple access (CDMA)\n- `08`: Removable secure element not controlled by the MNO, for example, memory card personalized forused with a mobile phone or smartphone\n- `09`: Mobile Phone or smartphone with a fixed (non-removable) secure element not controlled by the MNO\n- `10`: MNO controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book\n- `11`: Tablet or e-book with a fixed (non-removable) secure element controlled by the MNO\n- `12`: Removable secure element not controlled by the MNO, for example, memory card personalized foruse with a tablet or e-book\n- `13`: Tablet or e-book with fixed (non-removable) secure element not controlled by the MNO\n- `14`: Mobile phone or smartphone with a payment application running in a host processor\n- `15`: Tablet or e-book with a payment application running in a host processor\n- `16`: Mobile phone or smartphone with a payment application running in the Trusted ExecutionEnvironment (TEE) of a host processor\n- `17`: Tablet or e-book with a payment application running in the TEE of a host processor\n- `18`: Watch with a payment application running in the TEE of a host processor\n- `19`: Watch with a payment application running in a host processor\n\nValues from 20\u201399 exclusively indicate the form factor only without also indicating the storage technology\n\n- `20`: Card\n- `21`: Phone e.g. Mobile Phone\n- `22`: Tablet/e-reader\n- `23`: Watch/Wristband e.g. Watch or wristband, including a fitness band, smart strap, disposable band, watch add-on, and security/ID band\n- `24`: Sticker\n- `25`: PC\n- `26`: Device Peripheral e.g. mobile phone case or sleeve\n- `27`: Tag e.g. key fob or mobile tag\n- `28`: Jewelry e.g. ring, bracelet, necklace and cuff links\n- `29`: Fashion Accessory e.g. handbag, bag charm and glasses\n- `30`: Garment e.g. dress\n- `31`: Domestic Appliance e.g refrigerator, washing machine\n- `32`: Vehicle e.g. vehicle, including vehicle attached devices\n- `33`: Media/Gaming Device e.g. media or gaming device, including a set top box, media player and television\n\n34\u201399 are reserved for future form factors. Any value in this range may occur within form factor and transaction data without prior notice.\n\nThis field is supported only for Mastercard on CyberSource through VisaNet.\nWhen initiation channel is not provided via this API field, the value is extracted from EMV tag 9F6E for Mastercard transactions. To enable this feature please call support.\n\n#### Used by\n**Authorization**\nOptional field.\n" }, "sepa": { "type": "object", "properties": { "directDebit": { "type": "object", "properties": { "reference": { "type": "string", "maxLength": 255, "description": "Mandate reference as returned on the first transaction in the\nsequence\n" }, "signatureDate": { "type": "string", "maxLength": 255, "description": "Date of the initial transaction, format is YYYY-MM-DD. Date\ncan be taken from the finaltimestamp of the SUCCEEDED\nnotification for the first transaction in the sequence.\n" }, "url": { "type": "string", "maxLength": 255, "description": "Valid URL pointing to the SEPA mandate, needs to be accessible\nby our risk and compliance department.\n" }, "type": { "type": "string", "maxLength": 255, "description": "Sequence type of the direct debit, defaults to \"oneOff\". Valid\nvalues:\noneOff The direct debit is executed once.\nfirst First direct debit in a series of recurring ones.\n" } } } } }, "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 26, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval." }, "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\nPossible values:\n- `UNRESTRICTED (default)\u2014this value\nis only available if configured by PayPal\nfor the merchant.`\n- `INSTANT`\n" } } }, "paymentAccountReference": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 29, "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN. It identifies the card account, not just a card. PAR is a non-payment identifier that can be associated to PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\n" } } }, "thirdPartyToken": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 16, "description": "When a third party is being used for tokenization, this field contains the token ID. See tokenInformation.thirdPartyToken.source to identify the provider.\n" } } }, "merchantLimitedAcceptanceIndicator": { "type": "string", "maxLength": 1, "description": "Mastercard One Credential merchant limited acceptance indicator. Mastercard One Credential connects multiple Mastercard payment methods and allows cardhollers to access various options and set payment preferences.\n\nThis field indicates which Mastercard One Credential funding PAN acceptance brands should NOT be assigned for this transaction.\n\nThis field flows in ISO field 34, DSID 02 tag DB, mapped to Mastercard Data Element (DE) 48, Sub element 02, Subfield 01.\n\nPossible values:\n- `C`: Do not assign a Mastercard One Credential funding PAN containing the Mastercard Credit Acceptance Brand for this transaction\n- `D`: Do not assign a Mastercard One Credential funding PAN containing the Debit Mastercard Acceptance Brand for this transaction\n- `M`: Do not assign a Mastercard One Credential funding PAN containing the Maestro Acceptance Brand for this transaction\n\nThis field is supported for all flavors of Authorization request only. Will not be received in response.\n\n#### Used by\n**Authorization Request**\nOptional field.\n" } } }, "orderInformation": { "type": "object", "properties": { "extensionDays": { "type": "string", "maxLength": 19, "description": "Request field for merchant to increase the AUTH expiry days for Klarna Advantage Plus.\nApplicable for Re-Authorization (AP_REAUTH) service.\n" }, "amountDetails": { "type": "object", "properties": { "refundBalance": { "type": "string", "maxLength": 15, "description": "The remaining amount which can be refunded." }, "giftWrapAmount": { "type": "string", "maxLength": 19, "description": "Amount being charged as gift wrap fee.\n" }, "invoiceAmount": { "type": "string", "maxLength": 12, "description": "Invoice amount.\n\nThe invoice amount issued by the Merchant to the Cardholder, which includes VAT (excluding items such as TIPS or CASHBACK).\nFor transactions that do not have applicable Benefit Laws, the field may be entered as zeros.\n\nThis field is only applicable for Uruguay market.\n\nExample: 100.00\n\nUruguay\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n\n- Record: CP01 TCR9\n- Position: 7-18\n- Field: Invoice Amount\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "subTotalAmount": { "type": "string", "maxLength": 15, "description": "Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request.\nWhen there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" }, "description": { "type": "string", "description": "Merchant-defined field for describing the surcharge amount." } } }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalAmount": { "type": "string", "maxLength": 15, "description": "Amount in your original local pricing currency.\n\nThis value cannot be negative. You can include a decimal point (.) in this field to denote the currency\nexponent, but you cannot include any other special characters.\n\nIf needed, CyberSource truncates the amount to the correct number of decimal places.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" }, "currencyConversion": { "type": "object", "properties": { "indicator": { "type": "string", "maxLength": 1, "description": "Flag indicating that DCC Lookup has been performed before this transaction. Set this field to 1 when cardholders opts to use DCC on the transaction.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Unique identifier generated by the DCC provider.\n" }, "id": { "type": "string", "maxLength": 26, "description": "Value of the Cybersource request ID returned in a DCC Lookup transaction.\n" } } }, "oct-surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "x-nullable": true, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. \nThe issuer can provide information about the surcharge amount to the customer. \n\nIf the amount is positive, then it is a debit for the customer. \n\nIf the amount is negative, then it is a credit for the customer.\n" } } }, "order": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 10, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency used for the order\n" }, "subTotalAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "handlingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate handling charges for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate shipping charges for the transaction If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingDiscountAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "taxAmount": { "type": "string", "maxLength": 10, "description": "Total tax amount. When the purchaseTotals_ taxAmount and ap_subtotalAmount fields are included in the request, do not include the tax amount as part of the subtotal amount calculation.\n" }, "insuranceAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged for the insurance fee. Only supported when the payment_method is set to paypal.\n" }, "giftWrapAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged as gift wrap fee.\n \n" } } }, "anticipatedAmount": { "type": "string", "maxLength": 15, "description": "This API Field contains the anticipated amount details. This supports use cases where the Merchant does not wish to have funds held against the account, but needs to confirm an amount prior to authorization, such as for a trial subscription, reservation service, or loyalty program. In an account verification, the anticipated amount is used to confirm the account has availability to accept purchases.\n" } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "maxLength": 60, "description": "Customer's name suffix.\n" }, "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "emailDomain": { "type": "string", "maxLength": 100, "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneType": { "type": "string", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" }, "verificationStatus": { "type": "string", "description": "Whether buyer has verified their identity. Used in case of PayPal transactions.\n\nPossible Values:\n* VERIFIED\n* UNVERIFIED\n" }, "alternatePhoneNumber": { "type": "string", "maxLength": 15, "description": "#### Visa Platform Connect\ncontains customer's alternate phone number.\n" }, "alternateEmail": { "type": "string", "maxLength": 255, "description": "#### Visa Platform Connect\ncontains customer's alternate email address.\n" } } }, "shipTo": { "type": "object", "properties": { "title": { "type": "string", "description": "The title of the person receiving the product.", "maxLength": 60 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "district": { "type": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "buildingNumber": { "type": "string", "maxLength": 15, "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "email": { "type": "string", "maxLength": 255, "description": "Email of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "destinationTypes": { "type": "string", "maxLength": 25, "description": "Shipping destination of item. Example: Commercial, Residential, Store\n" }, "destinationCode": { "type": "integer", "maxLength": 2, "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "fulfillmentType": { "type": "string", "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n" }, "weight": { "type": "string", "maxLength": 9, "description": "Weight of the item.\n" }, "weightIdentifier": { "type": "string", "maxLength": 1, "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n" }, "weightUnit": { "type": "string", "maxLength": 2, "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n" }, "referenceDataCode": { "type": "string", "maxLength": 150, "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "unitTaxAmount": { "type": "string", "maxLength": 15, "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n" }, "measurement": { "type": "string", "maxLength": 10, "description": "This field would contain measurement of a line item.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "gift": { "type": "boolean", "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } } } } }, "invoiceDetails": { "type": "object", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "barcodeNumber": { "type": "string", "description": "Barcode Number." }, "expirationDate": { "type": "string", "description": "Expiration Date." }, "purchaseOrderNumber": { "type": "string", "maxLength": 50, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" }, "merchandiseCode": { "type": "integer", "description": "Identifier for the merchandise. This field is supported only on the processors listed in this field description.\n\n#### American Express Direct\nPossible value:\n- 1000: Gift card\n\n#### CyberSource through VisaNet\nThis value must be right justified. In Japan, this value is called a _goods code_.\n\n#### JCN Gateway\nThis value must be right justified. In Japan, this value is called a _goods code_.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } }, "referenceDataCode": { "type": "string", "maxLength": 3, "description": "Code that identifies the value of the `referenceDataNumber` field.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "description": "Reference number. The meaning of this value is identified by the value of the `referenceDataCode` field.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "salesSlipNumber": { "type": "integer", "maximum": 99999, "description": "Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt.\nThis field is supported only on Cybersource through Visanet and JCN gateway.\n\nOptional field.\n\n#### Card Present processing message\nIf you included this field in the request, the returned value is the value that you sent in the request.\nIf you did not include this field in the request, the system generated this value for you.\n\nThe difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the\nsystem generates the system trace audit number (STAN), and you must print the receipt number on the receipt;\nwhereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt.\n" }, "invoiceDate": { "type": "string", "maxLength": 8, "description": "Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed.\nYou can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday.\n\nThe default is the date, in Pacific time, that the bank receives the request.\nKeep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "costCenter": { "type": "string", "maxLength": 25, "description": "Cost centre of the merchant" }, "issuerMessage": { "type": "string", "maxLength": 41, "description": "Text message from the issuer. If you give the customer a receipt, display this value on the receipt." }, "productDescription": { "type": "string", "description": "Brief description of item." } } }, "shippingDetails": { "type": "object", "description": "Contains shipping information not related to address.", "properties": { "giftWrap": { "type": "boolean", "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" }, "shippingMethod": { "type": "string", "maxLength": 32, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n\nKlarna Advantage Plus additional values:\n - `TO_DOOR`: Delivery to door\n - `TO_CURB`: Delivery to curb\n - `TO_MAILBOX`: Delivery to mailbox\n - `PICKUP_BOX`: Pickup from box\n - `PICKUP_POINT`: Pickup from point\n - `PICKUP_STORE`: Pickup from store\n - `PICKUP_WAREHOUSE`: Pickup from warehouse\n - `DIGITAL_EMAIL`: Digital delivery via email\n - `DIGITAL_DOWNLOAD`: Digital download\n - `DIGITAL_OTHER`: Other digital delivery\n - `PHYSICAL_OTHER`: Other physical delivery\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" }, "shippingCarrier": { "type": "string", "maxLength": 255, "description": "Name of the shipping carrier/company handling the delivery.\n" } } }, "digitalCurrency": { "type": "object", "description": "Digital currency information for the order.", "properties": { "type": { "type": "string", "maxLength": 10, "description": "Currently, Visa uses a broad \"cryptocurrency\" indicator. The enhancement will introduce specific values to identify the type of digital currency or coin involved, such as Central Bank Digital Currency (CBDC), stable coins, blockchain-native tokens, and Non-Fungible Tokens (NFTs). Values: - 1: CBDC_TOKENDEPOSIT - 2: STABLE_COIN - 3: BLOCKCHAIN_NATIVE_TOKEN - 4: NFT" }, "rampProviderCountry": { "type": "string", "maxLength": 10, "description": "Ramp is a platform where we can buy Digital currency, for example Coinbase. This value identifies the country where the Ramp provider is registered." }, "conversionAffiliate": { "type": "string", "maxLength": 10, "description": "Affiliate is the platform for the digital currency transactions. The merchant provides the Affiliate country for transaction processing. The combination of affiliate country and ramp country helps to derive the foreign retail indicator." } } }, "returnsAccepted": { "type": "boolean", "description": "This is only needed when you are requesting both payment and DM service at same time.\n\nBoolean that indicates whether returns are accepted for this order.\nThis field can contain one of the following values:\n- true: Returns are accepted for this order.\n- false: Returns are not accepted for this order.\n" }, "isCryptocurrencyPurchase": { "type": "string", "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n" }, "cutoffDateTime": { "type": "string", "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.transit.airline.legs[].departureDate and travelInformation.transit.airline.legs[].departureTime if these fields are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "preOrder": { "type": "string", "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" }, "preOrderDate": { "type": "string", "maxLength": 10, "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" }, "reordered": { "type": "boolean", "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" }, "totalOffersCount": { "type": "string", "maxLength": 2, "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "companyTaxId": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n\n** TeleCheck **\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n** All Other Processors **\nNot used.\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" }, "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } }, "hashedPassword": { "type": "string", "maxLength": 100, "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "noteToSeller": { "type": "string", "maxLength": 255, "description": "Note to the recipient of the funds in this transaction" }, "mobilePhone": { "type": "integer", "maxLength": 25, "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "walletId": { "type": "string", "maxLength": 150, "description": "The one-time identification code of the Alipay wallet user. \nIt is scanned from the barcode that is shown by the mobile application.\n" } } }, "senderInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 30, "description": "First name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor.\n" }, "middleName": { "type": "string", "maxLength": 30, "description": "Middle name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of the sender.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "address1": { "type": "string", "maxLength": 35, "description": "The street address of the sender.\nThis field is applicable for AFT transactions. \n \nOnly alpha numeric values are supported. \nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "The city or locality of the sender.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. \nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "The state or province of the sender.\nThis field is applicable for AFT transactions when the sender country is US or CA. Else it is optional.\n\nMust be a two character value\n" }, "countryCode": { "type": "string", "maxLength": 2, "description": "The country associated with the address of the sender.\nThis field is applicable for AFT transactions. \n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n" }, "aliasName": { "type": "string", "maxLength": 50, "description": "Sender's alias name." }, "referenceNumber": { "type": "string", "maxLength": 19, "description": "This field is applicable for AFT transactions. \n\nContains a transaction reference number provided by the Merchant. Only alpha numeric values are supported.\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 50, "description": "The account number of the entity funding the transaction. The value for this field can be a payment card account number or bank account number.\n" }, "type": { "type": "string", "maxLength": 2, "description": "Identifies the sender's account type.\nThis field is applicable for AFT transactions.\n\nValid values are:\n - `00` for Other\n - `01` for Routing Transit Number (RTN) + Bank Account Number (BAN)\n - `02` for International Bank Account Number (IBAN)\n - `03` for Card Account\n - `04` for Email\n - `05` for Phone Number\n - `06` for Bank Account Number (BAN) + Bank Identification Code (BIC), also known as a SWIFT code\n - `07` for Wallet ID\n - `08` for Social Network ID\n" }, "fundsSource": { "type": "string", "maxLength": 2, "description": "Source of funds.\nPossible Values:\n - `01`: Credit.\n - `02`: Debit.\n - `03`: Prepaid.\n - `04`: Deposit Account.\n - `05`: Mobile Money Account.\n - `06`: Cash.\n - `07`: Other.\n - `V5`: Debits / deposit access other than those linked to the cardholders' scheme.\n - `V6`: Credit accounts other than those linked to the cardholder's scheme.\n" } } }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code of sender.\n" }, "taxIdNumber": { "type": "number", "maxLength": 14, "x-nullable": true, "description": "CPF or CNPJ of the cash-in recipient. \"Cadastro de Pessoas F\u00edsicas\", which translates to the \"Natural Persons Register.\"\nIt is the individual taxpayer registry identification number in Brazil, similar to a Social Security Number (SSN) in the United States or a National Insurance Number in the UK.\n" } } }, "recipientInformation": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 50, "description": "Identifier for the recipient's account.\nThis field is applicable for AFT transactions.\n" }, "accountType": { "type": "string", "maxLength": 2, "description": "Identifies the recipient's account type.\nThis field is applicable for AFT transactions.\n\nValid values are:\n - `00` for Other\n - `01` for Routing Transit Number (RTN) + Bank Account Number (BAN)\n - `02` for International Bank Account Number (IBAN)\n - `03` for Card Account\n - `06` for Bank Account Number (BAN) + Bank Identification Code (BIC), also known as a SWIFT code\n" }, "firstName": { "type": "string", "maxLength": 35, "description": "First name of the recipient.\nThis field is applicable for AFT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "middleName": { "type": "string", "maxLength": 30, "description": "Middle name of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "The street address of the recipient\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. \n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "The state or province of the recipient.\nThis field is applicable for AFT transactions when the recipient country is US or CA. Else it is optional.\n\nMust be a two character value\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Partial postal code for the recipient's address. For example, if the postal code is **NN5 7SG**, the value for\nthis field should be the first part of the postal code: **NN5**. This field is a _pass-through_, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "country": { "type": "string", "maxLength": 2, "description": "The country associated with the address of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "beneficiaryId": { "type": "string", "maxLength": 255, "description": "Only for e-wallets: ID, username, hash or anything uniquely identifying\nthe ultimate beneficiary.\n" }, "beneficiaryName": { "type": "string", "maxLength": 255, "description": "Only for e-wallets: The ultimate beneficiary's full name.\n" }, "beneficiaryAddress": { "type": "string", "maxLength": 255, "description": "Only for e-wallets: The ultimate beneficiary's street address (street,\nzip code, city), excluding the country. Example: \"Main street 1, 12345,\nBarcelona\n" }, "aliasName": { "type": "string", "maxLength": 50, "description": "Account owner alias name.\n" }, "nationality": { "type": "string", "maxLength": 10, "description": "Account Owner Nationality" }, "countryOfBirth": { "type": "string", "maxLength": 10, "description": "Account Owner Country of Birth" }, "occupation": { "type": "string", "maxLength": 50, "description": "Account Owner Occupation" }, "email": { "type": "string", "maxLength": 150, "description": "Account Owner email address" }, "locality": { "type": "string", "maxLength": 25, "description": "The city of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported.\nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "taxIdNumber": { "type": "number", "maxLength": 14, "x-nullable": true, "description": "CPF or CNPJ of the cash-in recipient. \"Cadastro de Pessoas F\u00edsicas\", which translates to the \"Natural Persons Register.\"\nIt is the individual taxpayer registry identification number in Brazil, similar to a Social Security Number (SSN) in the United States or a National Insurance Number in the UK.\n" } } }, "deviceInformation": { "type": "object", "properties": { "id": { "type": "string", "description": "Value created by the client software that uniquely identifies the POS device.\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to\nthe CyberSource reporting functionality.\n\nThis field is supported only for authorizations and credits on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\nString (32)\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" }, "fingerprintSessionId": { "type": "string", "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n" }, "useRawFingerprintSessionId": { "type": "boolean", "description": "Boolean that indicates whether request contains the device fingerprint information.\nValues:\n- `true`: Use raw fingerprintSessionId when looking up device details.\n- `false` (default): Use merchant id + fingerprintSessionId as the session id for Device detail collection.\n" }, "deviceType": { "type": "string", "maxLength": 60, "description": "The device type at the client side." }, "appUrl": { "type": "string", "description": "This field will contain the deep link that would help the Customer App to wake up.\n" }, "metadata": { "type": "string", "maxLength": 36, "description": "Verifies that the payment is originating from a valid, user-approved application and device. Sending this field helps reduce fraud and declined transactions.\nNote The length is set for a hexadecimal representation of the GUID/UUID. This field accepts a 36-character string (with hyphens) or a 32-character string (without hyphens).\nExample 123e4567-e89b-12d3-a456-426655440000\nExample 123e4567e89b12d3a456426655440000\n" }, "rawData": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" }, "provider": { "type": "string", "maxLength": 32, "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" } } } }, "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "httpAcceptContent": { "type": "string", "maxLength": 256, "description": "The exact content of the HTTP accept header.\n" }, "httpBrowserEmail": { "type": "string", "description": "Email address set in the customer's browser, which may differ from customer email.\n" }, "httpBrowserLanguage": { "type": "string", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" }, "httpBrowserColorDepth": { "type": "string", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" }, "httpBrowserScreenHeight": { "type": "string", "maxLength": 6, "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" }, "httpBrowserScreenWidth": { "type": "string", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" }, "httpBrowserTimeDifference": { "type": "string", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "domainName": { "type": "string", "maxLength": 127, "description": "This field will contain either the merchant url or the reverse domain as per the requirement for DSRP Format 3. This might vary transaction to transaction and might not be static. Merchant needs to have access to send this value for all DSRP program.\n" }, "salesOrganizationId": { "type": "string", "maxLength": 11, "description": "Company ID assigned to an independent sales organization. Get this value from Mastercard.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 106-116\n- Field: Independent Sales Organization ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "categoryCodeDomestic": { "type": "integer", "maximum": 9999, "description": "Merchant category code for domestic transactions. The value for this field is a four-digit number that the payment\ncard industry uses to classify merchants into market segments. A payment card company assigned one or more of these\nvalues to your business when you started accepting the payment card company's cards. Including this field in a request\nfor a domestic transaction might reduce interchange fees.\n\nWhen you include this field in a request:\n- Do not include the `merchant_category_code` field.\n- The value for this field overrides the value in your CyberSource account.\n\nThis field is supported only for:\n- Domestic transactions with Mastercard in Spain. Domestic means that you and the cardholder are in the same country.\n- Merchants enrolled in the OmniPay Direct interchange program.\n- First Data Merchant Solutions (Europe) on OmniPay Direct.\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "serviceFeeDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 22, "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n" }, "contact": { "type": "string", "maxLength": 11, "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" }, "state": { "type": "string", "maxLength": 20, "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 2048, "description": "customer would be redirected to this url based on the decision of the transaction" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "returnUrl": { "type": "string", "maxLength": 255, "minLength": 7, "description": "URL for displaying payment results to the consumer (notifications) after the transaction is processed. Usually this URL belongs to merchant and its behavior is defined by merchant\n" }, "partnerIdCode": { "type": "string", "maxLength": 10, "description": "#### Visa Platform Connect\nThis field may be used for transactions on accounts issued under co-branding agreements when one of the\nco-branding partners.\n" }, "serviceLocation": { "type": "object", "properties": { "locality": { "type": "string", "maxLength": 20, "description": "#### Visa Platform Connect\n\nMerchant's service location city name. When merchant provides services from a location other than the location identified as merchant location.\n" }, "countrySubdivisionCode": { "type": "string", "maxLength": 9, "description": "#### Visa Platform Connect\n\nMerchant's service location country subdivision code. When merchant provides services from a location other than the location identified as merchant location.\n" }, "countryCode": { "type": "string", "maxLength": 3, "description": "#### Visa Platform Connect\n\nMerchant's service location country code. When merchant provides services from a location other than the location identified as merchant location.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "#### Visa Platform Connect\n\nMerchant's service location postal code. When merchant provides services from a location other than the location identified as merchant location.\n" } } }, "noteToBuyer": { "type": "string", "maxLength": 165, "description": "Free-form text field.\n" }, "merchantName": { "type": "string", "maxLength": 25, "description": "Use this field only if you are requesting payment with Payer Authentication serice together.\n\nYour company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } }, "streetAddress": { "type": "string", "maxLength": 150, "description": "Acquirer street name." }, "city": { "type": "string", "maxLength": 100, "description": "Acquirer city." }, "state": { "type": "string", "maxLength": 10, "description": "Acquirer state." }, "postalCode": { "type": "string", "maxLength": 20, "description": "Acquirer postal code." }, "country": { "type": "string", "maxLength": 10, "description": "Acquirer country." }, "serviceProvidername": { "type": "string", "maxLength": 50, "description": "Contains transfer service provider name." } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "cavv": { "type": "string", "maxLength": 40, "description": "Cardholder authentication verification value (CAVV)." }, "transactionFlowIndicator": { "type": "string", "maxLength": 2, "description": "This field details out the type of transaction. Below are the possible values.\n08:GC- Guest Checkout.\n" }, "cavvAlgorithm": { "type": "string", "maxLength": 1, "description": "Algorithm used to generate the CAVV for Visa Secure or the UCAF authentication data for Mastercard Identity Check.\n" }, "eciRaw": { "type": "string", "maxLength": 2, "description": "Raw electronic commerce indicator (ECI).\n" }, "paresStatus": { "type": "string", "maxLength": 1, "description": "Payer authentication response status.\n" }, "veresEnrolled": { "type": "string", "maxLength": 1, "description": "Verification response enrollment status.\n" }, "xid": { "type": "string", "maxLength": 40, "description": "Transaction identifier.\n" }, "ucafCollectionIndicator": { "type": "string", "maxLength": 1, "description": "Universal cardholder authentication field (UCAF) collection indicator.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR7\n- Position: 5\n- Field: Mastercard Electronic Commerce Indicators\u2014UCAF Collection Indicator\n" }, "ucafAuthenticationData": { "type": "string", "maxLength": 32, "description": "Universal cardholder authentication field (UCAF) data.\n" }, "strongAuthentication": { "type": "object", "properties": { "issuerInformation": { "type": "object", "properties": { "exemptionDataRaw": { "type": "string", "maxLength": 4, "description": "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value for this field maps to the value returned in the payer authentication API response field -\n`consumerAuthenticationInformation.exemptionDataRaw`.\n" } } }, "lowValueExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the low value exemption indicator with one of the following values:\nPossible values:\n- `0` ( low value exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment)\n" }, "riskAnalysisExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the transaction risk analysis exemption indicator with one of the following values:\nPossible values:\n- `0` (TRA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be low risk in accordance with the criteria defined by PSD2/RTS)\n" }, "trustedMerchantExemptionIndicator": { "type": "string", "maxLength": 1, "description": "Possible values:\n- `0` (Trusted merchant exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder)\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the secure corporate payment exemption indicator with one of the following values:\nPossible values:\n- `0` (SCA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment)\n" }, "delegatedAuthenticationExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the delegated authentication exemption indicator with one of the following values:\nPossible values:\n- `0` (delegated Authentication exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer))\n" }, "outageExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the outage exemption indicator with one of the following values:\nPossible values:\n- `0` (Outage Authentication exemption does not apply to the transaction)\n- `1` (Outage exempt from SCA as authentication could not be done due to outage)\n" }, "authenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" } } }, "directoryServerTransactionId": { "type": "string", "maxLength": 36, "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: \nRecord: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n" }, "paSpecificationVersion": { "type": "string", "maxLength": 20, "description": "This field contains 3DS version that was used for Secured Consumer Authentication (SCA). \nThe value for this field should be in the format major.minor.patch version.\n\nValid Values are:\n\n- `2.1.0` (EMV 3D Secure Version 2.1)\n- `2.2.0` (EMV 3D Secure Version 2.2)\n- `2.3.0` (EMV 3D Secure Version 2.3)\n- `2.4.0` (EMV 3D Secure Version 2.4)\n- `2.5.0` (EMV 3D Secure Version 2.5)\n- `2.6.0` (EMV 3D Secure Version 2.6)\n- `2.7.0` (EMV 3D Secure Version 2.7)\n- `2.8.0` (EMV 3D Secure Version 2.8)\n- `2.9.0` (EMV 3D Secure Version 2.9)\n\nFor Visa Platform Connect: \nThe value for this field corresponds to the following data in the TC 33 capture file3: \nRecord: CP01 TCR7, Position: 113 , Field: MC AVV Verification\u2014Program Protocol\n\nIt will contain one of the following values:\n- `1` (3D Secure Version 1.x (3DS 1.0))\n- `2` (EMV 3-D Secure (3DS 2.x))\n" }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "responseAccessToken": { "type": "string", "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n" }, "acsTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\n" }, "acsWindowSize": { "type": "string", "maxLength": 2, "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" }, "alternateAuthenticationData": { "type": "string", "maxLength": 2048, "description": "Data that documents and supports a specific authentication process.\n" }, "alternateAuthenticationDate": { "type": "string", "maxLength": 14, "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" }, "alternateAuthenticationMethod": { "type": "string", "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" }, "authenticationDate": { "type": "string", "maxLength": 14, "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeCode": { "type": "string", "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" }, "challengeStatus": { "type": "string", "maxLength": 2, "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" }, "customerCardAlias": { "type": "string", "maxLength": 128, "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "decoupledAuthenticationMaxTime": { "type": "string", "maxLength": 5, "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" }, "defaultCard": { "type": "boolean", "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" }, "deviceChannel": { "type": "string", "maxLength": 10, "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" }, "installmentTotalCount": { "type": "integer", "maxLength": 4, "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" }, "merchantFraudRate": { "type": "string", "maxLength": 2, "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" }, "marketingOptIn": { "type": "boolean", "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" }, "marketingSource": { "type": "string", "maxLength": 40, "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" }, "mcc": { "type": "string", "maxLength": 4, "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "merchantScore": { "type": "integer", "maxLength": 2, "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" }, "messageCategory": { "type": "string", "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" }, "networkScore": { "type": "string", "maxLength": 2, "description": "The global score calculated by the CB scoring platform and returned to merchants.\n\nPossible values: \n- '00' - '99'\n\nWhen you request the payer authentication and authorization services separately, get the value for this field from the pa_network_score reply field. \n\nThis field is supported only for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\n" }, "npaCode": { "type": "string", "maxLength": 2, "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" }, "overridePaymentMethod": { "type": "string", "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "overrideCountryCode": { "type": "string", "maxLength": 2, "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" }, "priorAuthenticationData": { "type": "string", "maxLength": 2048, "description": "This field carry data that the ACS can use to verify the authentication process.\n" }, "priorAuthenticationMethod": { "type": "string", "maxLength": 2, "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" }, "priorAuthenticationReferenceId": { "type": "string", "maxLength": 36, "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" }, "priorAuthenticationTime": { "type": "string", "maxLength": 12, "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "returnUrl": { "type": "string", "maxLength": 2048, "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" }, "requestorId": { "type": "string", "maxLength": 35, "description": "Cardinal's directory server assigned 3DS Requestor ID value" }, "requestorInitiatedAuthenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" }, "requestorName": { "type": "string", "maxLength": 40, "description": "Cardinal's directory server assigned 3DS Requestor Name value" }, "referenceId": { "type": "string", "maxLength": 50, "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" }, "sdkMaxTimeout": { "type": "string", "maxLength": 2, "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" }, "transactionMode": { "type": "string", "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "authenticationBrand": { "type": "string", "maxLength": 16, "description": "Indicates which directory server was used while authentication process, this data is useful in case of scenarios \nwhen domestic scheme directory server is not present and authentication fallbacks to global scheme directory server.\nPossible values:\n- VISA - Returned for Mada VISA Co-badged cards, when authentication falls back to VISA Directory Server\n- MASTERCARD - Returned for Mada MasterCard Co-badged cards, when authentication falls back to MasterCard Directory Server\n" }, "effectiveAuthenticationType": { "type": "string", "maxLength": 2, "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "signedPares": { "type": "string", "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n" }, "acsReferenceNumber": { "type": "string", "maxLength": 50, "description": "Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval." }, "dsReferenceNumber": { "type": "string", "maxLength": 32, "description": "EMVCo-assigned unique identifier. This field is required in Cardholder Initiated 3DS fully authenticated mada transactions.\nWhen you request the payer authentication and authorization services separately, get the value for this field from the payerAuthEnrollReply_dsReferenceNumber or payerAuthValidateReply_dsReferenceNumber response field.\n" }, "scoreRequest": { "type": "integer", "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "terminalSerialNumber": { "type": "string", "maxLength": 32, "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n - `4`: Biometric\n - `5`: OTP\n" }, "laneNumber": { "type": "string", "maxLength": 8, "description": "Identifier for an alternate terminal at your retail location. You define the value for this field.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors.\nUse the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals,\nuse this `laneNumber` field to identify the terminal used for the transaction.\n\nThis field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor.\n\nOptional field.\n\n#### Card present reply messaging\nIdentifier for an alternate terminal at your retail location. You defined the value for this field in the request\nmessage. This value must be printed on the receipt.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global.\n" }, "catLevel": { "type": "integer", "minimum": 1, "maximum": 11, "description": "Type of cardholder-activated terminal. Possible values:\n\n - 1: Automated dispensing machine\n - 2: Self-service terminal\n - 3: Limited amount terminal\n - 4: In-flight commerce (IFC) terminal\n - 5: Radio frequency device\n - 6: Mobile acceptance terminal\n - 7: Electronic cash register\n - 8: E-commerce device at your location\n - 9: Terminal or cash register that uses a dialup connection to connect to the transaction processing network\n - 10: Card Activated Fuel Dispenser\n - 11: Travel ticket vending machine\n#### Chase Paymentech Solutions\nOnly values 1, 2, and 3 are supported.\n\nRequired if `pointOfSaleInformation.terminalID` is included in the request; otherwise, optional.\n\n#### CyberSource through VisaNet\nValues 1 through 6 are supported on\nCyberSource through VisaNet, but some\nacquirers do not support all six values.\n\nOptional field.\n\n#### FDC Nashville Global\nOnly values 7, 8, and 9 are supported.\n\nOptional field for EMV transactions; otherwise, not used.\n\n#### GPN\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### JCN Gateway\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### TSYS Acquiring Solutions\nOnly value 6 is supported.\n\nRequired for transactions from mobile devices; otherwise, not used.\n\n#### All other processors\nNot used.\n\nNonnegative integer.\n" }, "entryMode": { "type": "string", "maxLength": 11, "description": "Method of entering payment card information into the POS terminal. Possible values:\n\n - `contact`: Read from direct contact with chip card.\n - `contactless`: Read from a contactless interface using chip data.\n - `keyed`: Manually keyed into POS terminal. This value is not supported on OmniPay Direct.\n - `msd`: Read from a contactless interface using magnetic stripe data (MSD). This value is not supported on OmniPay Direct.\n - `swiped`: Read from credit card magnetic stripe.\n\nThe `contact`, `contactless`, and `msd` values are supported only for EMV transactions.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### Card Present\nCard present information about EMV applies only to credit card processing and PIN debit processing. All other\ncard present information applies only to credit card processing.\n\n#### PIN debit\nRequired for a PIN debit purchase and a PIN debit credit request.\n" }, "terminalCapability": { "type": "integer", "minimum": 1, "maximum": 5, "description": "POS terminal's capability. Possible values:\n\n - `1`: Terminal has a magnetic stripe reader only.\n - `2`: Terminal has a magnetic stripe reader and manual entry capability.\n - `3`: Terminal has manual entry capability only.\n - `4`: Terminal can read chip cards.\n - `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards.\n\nFor an EMV transaction, the value of this field must be `4` or `5`.\n\n#### PIN debit\nRequired for PIN debit purchase and PIN debit credit request.\n\n#### Used by\n**Authorization**\nRequired for the following processors:\n- American Express Direct\n- Chase Paymentech Solutions\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- FDMS Nashville\n- OmniPay Direct\n- SIX\n- Worldpay VAP\n\nOptional for the following processors:\n- CyberSource through VisaNet\n- GPN\n- GPX\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n" }, "operatingEnvironment": { "type": "string", "maxLength": 1, "description": "Operating environment.\n\nPossible values for all card types except Mastercard:\n- `0`: No terminal used or unknown environment.\n- `1`: On merchant premises, attended.\n- `2`: On merchant premises, unattended. Examples: oil, kiosks, self-checkout, mobile telephone, personal digital assistant (PDA).\n- `3`: Off merchant premises, attended. Examples: portable POS devices at trade shows, at service calls, or in taxis.\n- `4`: Off merchant premises, unattended. Examples: vending machines, home computer, mobile telephone, PDA.\n- `5`: On premises of cardholder, unattended.\n- `9`: Unknown delivery mode.\n- `S`: Electronic delivery of product. Examples: music, software, or eTickets that are downloaded over the internet.\n- `T`: Physical delivery of product. Examples: music or software that is delivered by mail or by a courier.\n\n#### Possible values for Mastercard:\n- `2`: On merchant premises, unattended, or cardholder terminal. Examples: oil, kiosks, self-checkout, home computer, mobile telephone, personal digital assistant (PDA). Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n- `4`: Off merchant premises, unattended, or cardholder terminal. Examples: vending machines, home computer, mobile telephone, PDA. Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThis field is supported only for American Express Direct and CyberSource through VisaNet.\n" }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity.\n\nPossible values:\n - `0`: No verification\n - `1`: Signature\n\nThis field is supported only on **American Express Direct**.\n" }, "cardSequenceNumber": { "type": "string", "maxLength": 3, "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards. \n\nWhen this value is available, it is provided by the chip reader. \n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Visa and Mastercard transactions. To enable this feature please call support.\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing. \n\nPIN debit processing is available only on CyberSource through VisaNet and FDC Nashville Global.\n\n#### Used by\nAuthorization: Optional\nPIN Debit processing: Optional\n\n#### GPX\n\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" }, "fallbackCondition": { "type": "integer", "description": "Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for\none of these reasons:\n\n - Technical failure: the EMV terminal or EMV card cannot read and process chip data.\n - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card.\n EMV terminals are coded to determine whether the terminal and EMV card have any applications in common.\n EMV terminals provide this information to you.\n\nPossible values:\n\n - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal either used information from a successful chip read or it was not a chip transaction.\n - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful.\n\nThis field is supported only on **GPN** and **JCN Gateway**.\n**NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field\nwhen the EMV terminal does not have any applications in common with the EMV card.\n" }, "isRepeat": { "type": "boolean", "description": "#### Visa Platform Connect\nValue \"true\" indicates this transaction is intentionally duplicated . The field contains value \"true\" which\nindicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending\na duplicate auth request for a single tap txn because the issuer requested a PIN.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n" }, "trackData": { "type": "string", "description": "Card's track 1 and 2 data. For all processors except FDMS Nashville, this value consists of\none of the following:\n\n - Track 1 data\n - Track 2 data\n - Data for both tracks 1 and 2\n\nFor FDMS Nashville, this value consists of one of the following:\n - Track 1 data\n - Data for both tracks 1 and 2\n\nExample: %B4111111111111111^SMITH/JOHN ^1612101976110000868000000?;4111111111111111=16121019761186800000?\n\n#### Used by\n**Authorization**\nRequired for Chase Paymentech Solutions, Credit Mutuel-CIC, CyberSource through VisaNet, FDC Nashville Global,\nJCN Gateway, OmniPay Direct, and SIX if `pointOfSaleInformation.entryMode` is equal to one of these values:\n- `contact`\n- `contactless`\n- `msd`\n- `swiped`\nOtherwise, this field not used.\n\nRequired for all other processors if `pointOfSaleInformation.entryMode=swiped`; otherwise, this field is not used.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### PIN debit\nTrack 2 data from the debit card. The sentinels are required.\nRequired field for a PIN debit purchase and a PIN debit credit.\n" }, "storeAndForwardIndicator": { "type": "string", "maxLength": 1, "description": "When connectivity is unavailable, the client software that is installed on the POS terminal can store a\ntransaction in its memory and send it for authorization when connectivity is restored. This value is provided by\nthe client software that is installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\nPossible values:\n- `Y`: Transaction was stored and then forwarded.\n- `N` (default): Transaction was not stored and then forwarded.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "cardholderVerificationMethod": { "type": "array", "items": { "type": "string", "example": [ "PIN", "Signature", "pinOnGlass" ] }, "description": "Complete list of cardholder verification methods (CVMs) supported by the terminal.\nOptional field.\nPossible values:\n- `PIN`: For terminals with a PIN Pad\n- `Signature`: For terminals capable of receiving a signature\n- `pinOnGlass`: For terminals where PIN is entered on a glass-based capture mechanism\n\n**EXAMPLE**: [\"PIN\",\"Signature\"]; [\"pinOnGlass\",\"Signature\"]\n" }, "terminalCategory": { "type": "string", "maxLength": 3, "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" }, "terminalInputCapability": { "type": "array", "items": { "type": "string" }, "description": "Complete list of card input methods supported by the terminal.\n\nPossible values:\n- `Keyed`: Terminal can accept card data that is entered manually.\n- `Swiped`: Terminal can accept card data from a magnetic stripe reader.\n- `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\").\n- `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\").\n- `BarCode`: Terminal can read bar codes.\n- `QRcode`: Terminal can read or scan QR codes.\n- `OCR`: Terminal can perform optical character recognition (OCT) on the card.\n\n**EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"]\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "terminalCardCaptureCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can capture the card.\n\nPossible values:\n- `1`: Terminal can capture card.\n- `0`: Terminal cannot capture card.\n\nFor authorizations and credits, this field is supported only by these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n\nOptional field.\n" }, "terminalOutputCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can print or display messages.\n\nPossible values:\n- 1: Neither\n- 2: Print only\n- 3: Display only\n- 4: Print and display\n- 5: Merchant terminal supports purchase only approvals\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n- VisaNet\n\nOptional field.\n" }, "terminalPinCapability": { "type": "integer", "description": "Maximum PIN length that the terminal can capture.\n\nPossible values:\n- 0: No PIN capture capability\n- 1: PIN capture capability unknown\n- 2: PIN Pad down\n- 4: Four characters\n- 5: Five characters\n- 6: Six characters\n- 7: Seven characters\n- 8: Eight characters\n- 9: Nine characters\n- 10: Ten characters\n- 11: Eleven characters\n- 12: Twelve characters\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n- SIX\n- Visa Platform Connect\n\nRequired field for authorization or credit of PIN transactions.\n" }, "pinEntrySolution": { "type": "string", "description": "This field will contain the type of Pin Pad the terminal has.\n\nPossible values:\n- PCI-SPoC: Where the pin is being put on screen\n- PCI-PTS: Where the pin is being put on actual hardware pin pad\n" }, "deviceId": { "type": "string", "maxLength": 32, "description": "Value created by the client software that uniquely identifies the POS device. This value is provided by the\nclient software that is installed on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" }, "pinBlockEncodingFormat": { "type": "integer", "maximum": 9, "description": "Format that is used to encode the PIN block. This value is provided by the client software that is installed on\nthe POS terminal.\n\nPossible values:\n- `0`: ISO 9564 format 0\n- `1`: ISO 9564 format 1\n- `2`: ISO 9564 format 2\n- `3`: ISO 9564 format 3\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also supported by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n\n#### GPX\nFor chip and online PIN transactions for authorization, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Offline PIN\n- Chip and Signature\n\nFor PIN Debit Purchase and Credit Service transactions, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Online PIN\n" }, "encryptedPin": { "type": "string", "maxLength": 16, "description": "Encrypted PIN.\n\nThis value is provided by the client software that is installed on the POS terminal.\n\n#### Used by\n**Authorization, PIN Debit**\nRequired when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\nRequired for PIN debit credit or PIN debit purchase.\nRequired for online PIN transactions.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "encryptedKeySerialNumber": { "type": "string", "maxLength": 20, "description": "Combination of the device's unique identifier and a transaction counter that is used in the process of\ndecrypting the encrypted PIN. The entity that injected the PIN encryption keys into the terminal decrypts the\nencrypted PIN and creates this value.\n\nFor all terminals that are using derived unique key per transaction (DUKPT) encryption, this is generated as a\nsingle number within the terminal.\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n- Required for online PIN transactions\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "encryptedKeyId": { "type": "string", "maxLength": 100, "description": "Identifies the Zone PIN Key (ZPK) used for Online PIN processing by providing the 10\u2011digit Key Set Identifier (KSI).\nThis value indicates that the PIN block is encrypted under a ZPK and enables the Payment Security Service (PSS) to perform \nthe correct ZPK\u2192ZPK PIN translation during card\u2011present EMV PIN transactions.\n" }, "partnerSdkVersion": { "type": "string", "maxLength": 32, "description": "Version of the software installed on the POS terminal. This value is provided by the client software that is\ninstalled on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "emvApplicationIdentifierAndDedicatedFileName": { "type": "string", "maxLength": 32, "description": "This 32 byte length-maximum EBCDIC-K value is used to identify which chip application was performed between the terminal and the chip product.\nThe included values are the Application Identifier (AID) and the Dedicated File (DF) name. It is available to early- or full-option VSDC issuers.\nOnly single byte Katakana characters that can map to the EBCDIC-K table expected in the name.\n" }, "terminalCompliance": { "type": "string", "maxLength": 2, "description": "Flag that indicates whether the terminal is compliant with standards mandated by the Reserve Bank of India for card-present domestic transactions in India.\n\nFormat:\n- First character indicates whether the terminal supports terminal line encryption (TLE). Possible values:\n - 1: Not certified\n - 2: Certified\n- Second character indicates whether the terminal supports Unique Key Per Transaction (UKPT) and Derived Unique Key Per Transaction (DUKPT). Possible values:\n - 1: Not certified\n - 2: Certified\n\n**Example** `21` indicates that the terminal supports TLE but does not support UKPT/DUKPT.\n\nYou and the terminal vendors are responsible for terminal certification. If you have questions, contact your acquirer.\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 92-93\n- Field: Mastercard Terminal Compliance Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n\n#### Used by\n**Authorization**\nRequired for card-present transactions in India. Otherwise, not used.\n" }, "isDedicatedHardwareTerminal": { "type": "string", "maxLength": 1, "description": "Type of mPOS device. Possible values:\n- 0: Dongle\n- 1: Phone or tablet\n\nThis optional field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 141\n- Field: Mastercard mPOS Transaction\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's\nacquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "terminalModel": { "type": "string", "maxLength": 32, "description": "This is the model name of the reader which is used to accept the payment.\nPossible values:\n - E3555\n - P400\n - A920\n" }, "terminalMake": { "type": "string", "maxLength": 32, "description": "This is the manufacturer name of the reader which is used to accept the payment.\nPossible values:\n - PAX\n - Verifone\n - Ingenico\n" }, "serviceCode": { "type": "string", "maxLength": 3, "description": "#### Visa Platform Connect\nMastercard service code that is included in the track data. This field is supported only for Mastercard on Visa Platform Connect. \nYou can extract the service code from the track data and provide it in this API field. \n\nWhen not provided it will be extracted from:\n - Track2Data for MSR transactions\n - EMV tag 5F30 for EMV transactions\n\nTo enable this feature please call support.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantDefinedSecureInformation": { "type": "object", "description": "The object containing the secure data that the merchant defines.\n", "properties": { "secure1": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 1.\n" }, "secure2": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 2.\n" }, "secure3": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 3.\n" }, "secure4": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 4.\n" } } }, "installmentInformation": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n" }, "frequency": { "type": "string", "maxLength": 1, "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n" }, "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" }, "sequence": { "type": "integer", "maximum": 999, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n" }, "totalCount": { "type": "integer", "maximum": 999, "description": "Total number of installments when making payments in installments.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "invoiceData": { "type": "string", "maxLength": 20, "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" }, "eligibilityInquiry": { "type": "string", "maxLength": 9, "description": "Indicates whether the authorization request is a Crediario eligibility inquiry.\n\nSet the value for this field to `Crediario`.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n" }, "gracePeriodDuration": { "type": "string", "maximum": 99, "description": "Grace period requested by the customer before the first installment payment is due.\n\nWhen you include this field in a request, you must also include the grace period duration type field.\n\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR5, Position: 100-101, Field: Mastercard Grace Period Details.\n\nThis field is supported only for Mastercard installment payments in Brazil and Greece.\n" }, "gracePeriodDurationType": { "type": "string", "maxLength": 1, "description": "Unit for the requested grace period duration.\n\nPossible values:\n- `D`: Days\n- `W`: Weeks\n- `M`: Months\n\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR5, Position: 99, Field: Mastercard Grace Period Details\n\nThis field is supported only for Mastercard installment payments in Brazil and Greece on CyberSource through VisaNet.\n" }, "firstInstallmentAmount": { "type": "string", "maxLength": 13, "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" }, "validationIndicator": { "type": "string", "maximum": 1, "description": "Standing Instruction/Installment validation indicator.\n- '1': Prevalidated\n- '2': Not Validated\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "annualInterestRate": { "type": "string", "maxLength": 7, "description": "Annual interest rate.\n\nThis field is returned only for two kinds of installment payments on Visa Platform Connect:\n- Crediario with Visa in Brazil: this field is included in the authorization response for the Crediario eligibility request when the issuer approves the customer's request for Crediario installment payments.\n- Mastercard in all countries except Brazil, Croatia, Georgia, and Greece.\n\n\nExample: A value of 1.0 specifies 1%.\n\nExample: A value of 4.0 specifies 4%.\n\n#### Brazil\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 151-157\n- Field: Annual Interest Rate\n\n\n#### Other Countries\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 58-62 SCMP API Fields| 216\n- Field: Mastercard Annual Percentage Rate\n" }, "interestIndicator": { "type": "string", "maxLength": 1, "description": "Indicates if the installment plan has interest.\n\nPossible values:\n-Y - with interest\n-N - without interest\n-NULL - Do not send the field if no information available\n" }, "isGovernmentPlan": { "type": "boolean", "maxLength": 1, "description": "Indicates if an installment plan is a government sponsored or part of a government program.\n\nPossible values:\n\n-true\n-false\n\nThis field defaults to false when no value is provided.\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" }, "feeAmount": { "type": "string", "maxLength": 15, "description": "This field contains the fee amount. This value cannot be negative. \nYou can include a decimal point (.), but no other special characters.\nFormat: String, 15 characters maximum.\nOptional field for ancillary services.\n" }, "feeCode": { "type": "string", "maxLength": 4, "description": "This field contains the ancillary fee code.\nFormat: Alphanumeric, 4 characters maximum.\nOptional field for ancillary services.\n" } } } }, "feeDescription": { "type": "string", "maxLength": 100, "description": "This field contains the fee description for the airline ancillary service provided.\nFormat: Alphanumeric, 100 characters maximum.\nOptional field for ancillary services.\n" } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "healthCareInformation": { "type": "object", "properties": { "amountDetails": { "type": "array", "description": "array for Healthcare fields", "items": { "type": "object", "properties": { "amountType": { "type": "string", "maxLength": 35, "description": "Total amount that has been spent on healthcare in a transaction.\nValid Values for **Visa**:\n- `healthcare` - Total Amount Healthcare\n- `healthcare-transit` - Amount Transit\n- `vision` - Amount Vision/Optical\n- `prescription` - Amount Prescription/RX\n- `clinic` - Amount Clinic/Other Qualified Medical\n- `dental` - Amount Dental\n\n\n`Note:` - Prescription, Clinic and dental amounts must be preceded with the total healthcare amount and cannot occur individually. Vision and Transit must be sent individually and cannot be combined with total healthcare amount or any other amounts. Total Healthcare amount can be sent individually.\n\nValid Values for **MasterCard**:\n- `prescription` - Amount Prescription/RX\n- `eligible-total` - Total Amount Healthcare\n\n\n`Note:` - Prescription must be preceded with the total healthcare amount and cannot occur individually. Total Healthcare amount can be sent individually.\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Total Amount that has been spent on the corresponding amountType. This is 13 byte field including sign.\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n" } } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" }, "paymentInstrument": { "type": "object", "properties": { "default": { "type": "boolean", "description": "Flag that specifies if the Payment Instrument should be made the Customers default.\nPossible values:\n- true\n- false : (default)\n", "default": false } } }, "shippingAddress": { "type": "object", "properties": { "default": { "type": "boolean", "description": "Flag that specifies if the Shipping Address should be made the Customers default.\nPossible values:\n- true\n- false : (default)\n", "default": false } } }, "networkTokenOption": { "type": "string", "description": "Indicates whether a payment network token associated with a TMS token should be used for authorization. This field can contain one of following values:\n\n- `ignore`: Use a tokenized card number for an authorization, even if the TMS token has an associated payment network token.\n- `prefer`: (Default) Use an associated payment network token for an authorization if the TMS token has one; otherwise, use the tokenized card number.\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "clientCorrelationId": { "type": "string", "maxLength": 36, "description": "Client-generated unique identifier for correlating token operations across API calls.\nThis value helps track and associate token-related transactions.\n" }, "tokenAuthenticationInformation": { "type": "object", "description": "Contains authentication information associated with the token, including details about authenticated identities.\n", "properties": { "authenticatedIdentities": { "type": "array", "description": "An array of authenticated identity objects containing verification data from identity providers.\n", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 22000, "description": "Data related to the authenticated identity. Contains verification payload from the identity provider.\n" }, "provider": { "type": "string", "description": "Provider of the authenticated identity. Identifies the authentication service or identity provider.\n \nPossible values:\n- CLIENT_DEVICE_CERT_JWS\n- VISA_PAYMENT_PASSKEY" }, "id": { "type": "string", "maxLength": 50, "description": "Unique identifier for the authenticated identity. A distinctive and non-transparent identifier for correlation purposes.\n" }, "relyingPartyId": { "type": "string", "maxLength": 2000, "description": "Identifier of the relying party that requested the authentication.\n" }, "userAuthenticationMethod": { "type": "string", "description": "The method used to authenticate the user.\n \nPossible values:\n- USERNAME_PASSWORD\n- PASSCODE_PASSWORD\n- PASSCODE\n- PASSWORD\n- PATTERN\n- BIOMETRIC_FINGERPRINT\n- BIOMETRIC_FACIAL\n- BIOMETRIC_IRIS\n- BIOMETRIC_VOICE\n- BIOMETRIC_BEHAVIORAL\n- DEVICE_UNLOCKED_METHOD_UNKNOWN\n- OTP_SMS\n- OTP_EMAIL\n- OTP_SMS_KNOWLEDGE\n- KNOWLEDGE_BASED_AUTHENTICATION\n- USER_UNVERIFIED\n- BIOMETRIC" } } } } } } } }, "invoiceDetails": { "type": "object", "description": "invoice Details", "properties": { "barcodeNumber": { "type": "string", "maxLength": 100, "description": "Barcode ID scanned from the Payment Application." } } }, "processorInformation": { "type": "object", "description": "Processor Information", "properties": { "preApprovalToken": { "type": "string", "maxLength": 60, "description": "Token received in original session service." }, "authorizationOptions": { "type": "object", "properties": { "panReturnIndicator": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nThe field contains the PAN translation indicator for American Express Contactless Transaction. Valid value is\u00a0\n\n1- Expresspay Translation, PAN request\n2- Expresspay Translation, PAN and Expiry date request\n" } } }, "reversal": { "type": "object", "properties": { "preApprovalToken": { "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." }, "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } }, "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } }, "authApprovalToken": { "type": "string", "maxLength": 8192, "description": "Interoperability Token received by merchant for Authorization API.\nField for merchant to send Klarna Advantage Plus authorization approval token for Auth API call.\n" }, "supplementaryTransactionData": { "type": "string", "maxLength": 10240, "description": "Supplementary transaction data for Klarna Advantage Plus.\nFields to capture Interoperability Data from Merchant and transfer to Klarna for Authorization/Sale/Re-Auth/Capture APIs.\n" }, "responseSourceCode": { "type": "string", "maxLength": 1, "description": "Field contains the response source code that identifies the source.\n" }, "cedpVerifiedIndicator": { "type": "string", "maxLength": 1, "description": "Merchant Commercial Enhanced Data Program (CEDP) verified indicator for capture/bill requests.\n\nThis field is used when the client is doing authorization with a different gateway and capture/settlement with CyberSource.\n\nThis field flows in ISO field 34, DSID 02 tag DA, in AN, EBCDIC format.\n\nPossible values:\n- `Y`: Merchant CEDP verified\n\n#### Used by\n**Capture Request**\nRequest field for force capture/bill support when auth is done with a different gateway.\n" } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "description": "Identifier for the mandate being signed for. This mandate id is required for all the subsequent transactions.\n" }, "id": { "type": "string", "maxLength": 128, "description": "The processor specific billing agreement ID. References an approved recurring payment for goods or services. This value is sent by merchant via Cybersource to processor. The value sent in this field is procured by the merchant from the processor.\n" } } }, "riskInformation": { "type": "object", "description": "This object is only needed when you are requesting both payment and DM services at same time.", "properties": { "profile": { "type": "object", "description": "Identifies a risk profile.", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n" } } }, "eventType": { "type": "string", "maxLength": 255, "description": "Specifies one of the following types of events:\n- login\n- account_creation\n- account_update\nFor regular payment transactions, do not send this field.\n" }, "buyerHistory": { "type": "object", "properties": { "customerAccount": { "type": "object", "properties": { "lastChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, "creationHistory": { "type": "string", "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" }, "modificationHistory": { "type": "string", "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" }, "passwordHistory": { "type": "string", "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" }, "createDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" }, "passwordChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" } } }, "accountHistory": { "type": "object", "properties": { "firstUseOfShippingAddress": { "type": "boolean", "description": "Applicable when this is not a guest account.\n" }, "shippingAddressUsageDate": { "type": "string", "maxLength": 10, "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" } } }, "accountPurchases": { "type": "integer", "maxLength": 4, "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" }, "addCardAttempts": { "type": "integer", "maxLength": 3, "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "priorSuspiciousActivity": { "type": "boolean", "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" }, "paymentAccountHistory": { "type": "string", "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" }, "paymentAccountDate": { "type": "integer", "maxLength": 8, "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" }, "transactionCountDay": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "transactionCountYear": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" } } }, "auxiliaryData": { "type": "array", "items": { "type": "object", "description": "Contains auxiliary key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to send additional data to Risk services.\n**Warning** Auxiliary fields are not intended to and MUST NOT\nbe used to capture personally identifying information.\nAccordingly, merchants are prohibited from capturing,\nobtaining, and/or transmitting any personally identifying\ninformation in or via the auxiliary data fields. Personally\nidentifying information includes, but is not limited to,\naddress, credit card number, social security number,\ndriver's license number, state-issued identification\nnumber, passport number, and card verification numbers\n(CVV, CVC2, CVV2, CID, CVN). In the event CyberSource\ndiscovers that a merchant is capturing and/or transmitting\npersonally identifying information via the auxiliary data\nfields, whether or not intentionally, CyberSource WILL\nimmediately suspend the merchant's account, which will\nresult in a rejection of any and all transaction requests\nsubmitted by the merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } } } }, "acquirerInformation": { "type": "object", "properties": { "acquirerBin": { "type": "string", "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" }, "password": { "type": "string", "maxLength": 8, "description": "Registered password for the Visa directory server.\n" }, "merchantId": { "type": "string", "maxLength": 15, "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" }, "acquirerMerchantId": { "type": "string", "maxLength": 15, "description": "Acquirer assigned merchant id. Check if your processor supports this field.\n" } } }, "recurringPaymentInformation": { "type": "object", "description": "This object contains recurring payment information.", "required": [ "frequency", "endDate" ], "properties": { "endDate": { "type": "string", "maxLength": 10, "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" }, "frequency": { "type": "integer", "maxLength": 4, "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" }, "numberOfPayments": { "type": "integer", "maxLength": 3, "description": "Total number of payments for the duration of the recurring subscription.\n" }, "originalPurchaseDate": { "type": "string", "maxLength": 17, "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" }, "sequenceNumber": { "type": "integer", "maxLength": 3, "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" }, "type": { "type": "string", "maxLength": 1, "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" }, "occurrence": { "type": "string", "maxLength": 2, "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" }, "validationIndicator": { "type": "string", "maxLength": 1, "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" }, "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" }, "maximumAmount": { "type": "string", "maxLength": 12, "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" }, "referenceNumber": { "type": "string", "maxLength": 35, "description": "This will contain a unique reference number for the recurring payment transaction.\n" } } }, "unscheduledPaymentInformation": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Indicates the type of unscheduled payment. This field is required for unscheduled payments CIT/MIT Possible values:\n1: First unscheduled transaction.\n2: Subsequent unscheduled transaction.\n" } } }, "hostedPaymentInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 255, "description": "The title of the hosted payment page, displayed in the browser's tab. If\nnot set, defaults to the title set in the merchant configuration.\n" }, "ipAddress": { "type": "string", "maxLength": 255, "description": "URL of the merchant's logo to be displayed in Klarna's hosted payment\npage. If not set, defaults to the logo set in the merchant configuration.\n" }, "userAgent": { "type": "object", "description": "The images to be used as background on Klarna's payment page (the\nimage best matching the resolution will be used). This is a pass-through\nfield. Check Klarna's documentation for more information about the correct\nformat. This value can also be set in the merchant configuration.\n", "properties": { "url": { "type": "string", "maxLength": 255, "description": "Url for the image" }, "width": { "type": "integer", "description": "Width of the image" } } } } }, "watchlistScreeningInformation": { "type": "object", "properties": { "addressOperator": { "type": "string", "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" }, "weights": { "type": "object", "properties": { "address": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" }, "company": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" }, "name": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" } } }, "sanctionLists": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" }, "proceedOnMatch": { "type": "boolean", "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n" } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "billTo": { "country": "US", "lastName": "VDP", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS", "phoneNumber": "999999999", "district": "MI", "buildingNumber": "123", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5555555555554444", "securityCode": "123", "expirationMonth": "12", "type": "002" } } } }, "incrementAuth_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "storedCredentialUsed": { "type": "boolean", "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **true** means the merchant-initiated transaction came from a card that was already stored on file.\n- **false** means the merchant-initiated transaction came from a card that was not stored on file.\n" } } } } }, "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "additionalAmount": { "type": "string", "maxLength": 19, "description": "Additional charges that have to be authorized against a lodging or auto-rental order.\nThis value cannot be negative. You can include a decimal point (.), but no other special characters.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration for which the vehicle was rented or lodge/hotel was booked.\n" } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "authorizationOptions": { "initiator": { "storedCredentialUsed": true } } }, "orderInformation": { "amountDetails": { "additionalAmount": "22.49", "currency": "USD" } }, "merchantInformation": { "transactionLocalDateTime": 20191002080000 }, "travelInformation": { "duration": "4" } } }, "authReversal_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "reversalInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "reason": { "type": "string", "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "issuer": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" } } }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", "items": { "type": "string" } }, "transactionTypeIndicator": { "type": "string", "maxLength": 3, "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" } } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type\n" } } } } }, "merchantLimitedAcceptanceIndicator": { "type": "string", "maxLength": 1, "description": "Mastercard One Credential merchant limited acceptance indicator. Mastercard One Credential connects multiple Mastercard payment methods and allows cardhollers to access various options and set payment preferences.\n\nThis field indicates which Mastercard One Credential funding PAN acceptance brands should NOT be assigned for this transaction.\n\nThis field flows in ISO field 34, DSID 02 tag DB, mapped to Mastercard Data Element (DE) 48, Sub element 02, Subfield 01.\n\nPossible values:\n- `C`: Do not assign a Mastercard One Credential funding PAN containing the Mastercard Credit Acceptance Brand for this transaction\n- `D`: Do not assign a Mastercard One Credential funding PAN containing the Debit Mastercard Acceptance Brand for this transaction\n- `M`: Do not assign a Mastercard One Credential funding PAN containing the Maestro Acceptance Brand for this transaction\n\nThis field is supported for Authorization reversal request.\n\n#### Used by\n**Authorization Reversal Request**\nOptional field.\n" } } }, "deviceInformation": { "type": "object", "properties": { "deviceType": { "type": "string", "maxLength": 1, "description": "Account Entry Device Type for Tap to More transactions. This field flows in ISO Field 34 DSID 02 Tag 89.\n\nValid Values:\n- `1`: Off-the-shelf mobile consumer\n\nMastercard is introducing changes to support commercialization of Tap to More transactions. \nAcquirers globally must be prepared to send a value of 1 (Off-the-shelf mobile-consumer) \nin Field 34\u2014Acceptance Environment Data (TLV Format), Dataset ID 02\u2014Acceptance Environment \nAdditional Data, Tag 89\u2014Account Entry Device Type for Tap to More transactions. Visa will \nmap this value to a value of 8 (Remote terminal) in Mastercard Data Element 61.10.\n\n#### Mapping\n- SCMP API Field: customer_device_type\n- Simple Order API Field: billTo_deviceType\n- CCS: device.type\n- NRTF Key: customer_device_type\n\nOptional field.\n" } } }, "processorInformation": { "type": "object", "properties": { "preApprovalToken": { "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." }, "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3", "transactionId": "code" }, "reversalInformation": { "reason": "testing", "amountDetails": { "totalAmount": "102.21" } } } }, "mitReversal_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "reversalInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "reason": { "type": "string", "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "issuer": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" } } }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", "items": { "type": "string" } }, "transactionTypeIndicator": { "type": "string", "maxLength": 3, "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" } } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } }, "deviceInformation": { "type": "object", "properties": { "deviceType": { "type": "string", "maxLength": 1, "description": "Account Entry Device Type for Tap to More transactions. This field flows in ISO Field 34 DSID 02 Tag 89.\n\nValid Values:\n- `1`: Off-the-shelf mobile consumer\n\nMastercard is introducing changes to support commercialization of Tap to More transactions. \nAcquirers globally must be prepared to send a value of 1 (Off-the-shelf mobile-consumer) \nin Field 34\u2014Acceptance Environment Data (TLV Format), Dataset ID 02\u2014Acceptance Environment \nAdditional Data, Tag 89\u2014Account Entry Device Type for Tap to More transactions. Visa will \nmap this value to a value of 8 (Remote terminal) in Mastercard Data Element 61.10.\n\n#### Mapping\n- SCMP API Field: customer_device_type\n- Simple Order API Field: billTo_deviceType\n- CCS: device.type\n- NRTF Key: customer_device_type\n\nOptional field.\n" } } }, "processorInformation": { "type": "object", "properties": { "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" }, "reversalInformation": { "reason": "testing", "amountDetails": { "totalAmount": "102.21" } } } }, "capturePayment_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "digitalServiceIndicator": { "type": "string", "maxLength": 104, "description": "Mastercard Digital Enablement Service (MDES) digital service indicators for force capture scenarios. \n\nThis field is used when the client is doing authorization with a different gateway and capture with CyberSource. \n\nThis field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.\n\n#### Used by\n**Capture Request**\nRequest field for force capture support when auth is done with a different gateway.\n" }, "issuer": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" } } }, "authorizationOptions": { "type": "object", "properties": { "authType": { "type": "string", "maxLength": 15, "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" }, "verbalAuthCode": { "type": "string", "maxLength": 7, "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n" }, "verbalAuthTransactionId": { "type": "string", "maxLength": 15, "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n" } } }, "captureOptions": { "type": "object", "properties": { "captureSequenceNumber": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" }, "totalCaptureCount": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" }, "isFinal": { "type": "string", "maxLength": 5, "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n" }, "notes": { "type": "string", "maxLength": 255, "description": "An informational note about this settlement. Appears in both the payer's transaction history and the emails that the payer receives.\n" }, "reconciliationIdAlternate": { "type": "string", "maxLength": 12, "description": "Used by Nike merchant to send 12 digit order number" } } }, "loanOptions": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 20, "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" }, "assetType": { "type": "string", "maxLength": 1, "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" } } }, "payByPointsIndicator": { "type": "boolean", "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n" }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the capture to invoke bundled services along with capture.\n\nPossible values :\n\n - `AP_CAPTURE`: Use this when Alternative Payment Capture service is requested.\n", "items": { "type": "string" } }, "japanPaymentOptions": { "type": "object", "properties": { "paymentMethod": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" }, "bonuses": { "type": "string", "maxLength": 2, "description": "Field contains the number of bonuses.\n" }, "installments": { "type": "string", "maximum": 99, "description": "Number of Installments.\n" }, "firstBillingMonth": { "type": "string", "maxLength": 2, "description": "Billing month in MM format.\n" }, "bonusAmount": { "type": "string", "maxLength": 12, "description": "This field contains the bonus amount.\n" }, "bonusMonth": { "type": "string", "maxLength": 2, "description": "This field contains the Japan specific first bonus month.\n" }, "secondBonusAmount": { "type": "string", "maxLength": 12, "description": "Field contains the second bonus amount.\n" }, "secondBonusMonth": { "type": "string", "maxLength": 2, "description": "Field contains the Japan specific second bonus month.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "card": { "type": "object", "properties": { "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "fulfillmentType": { "type": "string", "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n" }, "weight": { "type": "string", "maxLength": 9, "description": "Weight of the item.\n" }, "weightIdentifier": { "type": "string", "maxLength": 1, "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n" }, "weightUnit": { "type": "string", "maxLength": 2, "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n" }, "referenceDataCode": { "type": "string", "maxLength": 150, "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "unitTaxAmount": { "type": "string", "maxLength": 15, "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n" }, "measurement": { "type": "string", "maxLength": 10, "description": "This field would contain measurement of a line item.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "gift": { "type": "boolean", "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 50, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "description": "Contains shipping details information for Klarna Advantage Plus Capture transactions.\n", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" }, "trackingNumber": { "type": "string", "maxLength": 100, "description": "Shipment tracking number provided by the merchant.\nUsed to track the shipment of goods to the customer.\n" }, "trackingUrl": { "type": "string", "maxLength": 1024, "description": "URL where the customer can track their shipment.\nProvides real-time tracking information for the delivery.\n" }, "shippingCarrier": { "type": "string", "maxLength": 255, "description": "Name of the shipping carrier/company handling the delivery.\n" }, "estimatedDeliveryDate": { "type": "string", "pattern": "^[0-9]{8}$", "description": "Estimated delivery date for the shipment provided by Merchant.\nFormat: YYYYMMDD (e.g., 20251115 for November 15, 2025)\n" }, "shippingMethod": { "type": "string", "maxLength": 32, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n\nKlarna Advantage Plus additional values:\n - `TO_DOOR`: Delivery to door\n - `TO_CURB`: Delivery to curb\n - `TO_MAILBOX`: Delivery to mailbox\n - `PICKUP_BOX`: Pickup from box\n - `PICKUP_POINT`: Pickup from point\n - `PICKUP_STORE`: Pickup from store\n - `PICKUP_WAREHOUSE`: Pickup from warehouse\n - `DIGITAL_EMAIL`: Digital delivery via email\n - `DIGITAL_DOWNLOAD`: Digital download\n - `DIGITAL_OTHER`: Other digital delivery\n - `PHYSICAL_OTHER`: Other physical delivery\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" }, "serviceFeeDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 22, "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n" }, "contact": { "type": "string", "maxLength": 11, "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" }, "state": { "type": "string", "maxLength": 20, "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" } } }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n" }, "encryptedKeyId": { "type": "string", "maxLength": 100, "description": "Identifies the Zone PIN Key (ZPK) used for Online PIN processing by providing the 10\u2011digit Key Set Identifier (KSI).\nThis value indicates that the PIN block is encrypted under a ZPK and enables the Payment Security Service (PSS) to perform \nthe correct ZPK\u2192ZPK PIN translation during card\u2011present EMV PIN transactions.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantDefinedSecureInformation": { "type": "object", "description": "The object containing the secure data that the merchant defines.\n", "properties": { "secure1": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 1.\n" }, "secure2": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 2.\n" }, "secure3": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 3.\n" }, "secure4": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 4.\n" } } }, "installmentInformation": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n" }, "frequency": { "type": "string", "maxLength": 1, "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n" }, "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" }, "sequence": { "type": "integer", "maximum": 999, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n" }, "totalCount": { "type": "integer", "maximum": 999, "description": "Total number of installments when making payments in installments.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "firstInstallmentAmount": { "type": "string", "maxLength": 13, "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" }, "invoiceData": { "type": "string", "maxLength": 20, "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" }, "additionalCosts": { "type": "string", "maxLength": 12, "description": "Additional costs charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 128-139\n- Field: Total Other Costs\n" }, "additionalCostsPercentage": { "type": "string", "maxLength": 4, "description": "Additional costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 140-143\n- Field: Percent of Total Other Costs\n" }, "amountFunded": { "type": "string", "maxLength": 12, "description": "Amount funded.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 48-59\n- Field: Total Amount Funded\n" }, "amountRequestedPercentage": { "type": "string", "maxLength": 4, "description": "Amount requested divided by the amount funded.\n\nFor example:\n- A value of 90.0 specifies 90%.\n- A value of 93.7 specifies 93.7%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 60-63\n- Field: Percent of Amount Requested\n" }, "annualFinancingCost": { "type": "string", "maxLength": 7, "description": "Annual cost of financing the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 158-164\n- Field: Annual Total Cost of Financing\n" }, "annualInterestRate": { "type": "string", "maxLength": 7, "description": "Annual interest rate.\n\nThis field is returned only for two kinds of installment payments on Visa Platform Connect:\n- Crediario with Visa in Brazil: this field is included in the authorization response for the Crediario eligibility request when the issuer approves the customer's request for Crediario installment payments.\n- Mastercard in all countries except Brazil, Croatia, Georgia, and Greece.\n\n\nExample: A value of 1.0 specifies 1%.\n\nExample: A value of 4.0 specifies 4%.\n\n#### Brazil\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 151-157\n- Field: Annual Interest Rate\n\n\n#### Other Countries\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 58-62 SCMP API Fields| 216\n- Field: Mastercard Annual Percentage Rate\n" }, "expenses": { "type": "string", "maxLength": 12, "description": "Expenses charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 64-75\n- Field: Total Expenses\n" }, "expensesPercentage": { "type": "string", "maxLength": 4, "description": "Expenses divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 76-79\n- Field: Percent of Total Expenses\n" }, "fees": { "type": "string", "maxLength": 12, "description": "Fees charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 80-91\n- Field: Total Fees\n" }, "feesPercentage": { "type": "string", "maxLength": 4, "description": "Fees divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 92-95\n- Field: Percent of Total Fees\n" }, "insurance": { "type": "string", "maxLength": 12, "description": "Insurance charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 112-123\n- Field: Total Insurance\n" }, "insurancePercentage": { "type": "string", "maxLength": 4, "description": "Insurance costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 124-127\n- Field: Percent Of Total Insurance\n" }, "monthlyInterestRate": { "type": "string", "maxLength": 7, "description": "Monthly interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 144-150\n- Field: Monthly Interest Rate\n" }, "taxes": { "type": "string", "maxLength": 12, "description": "Taxes collected by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 96-107\n- Field: Total Taxes\n" }, "taxesPercentage": { "type": "string", "maxLength": 4, "description": "Taxes divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 108-111\n- Field: Percent of Total Taxes\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" }, "feeAmount": { "type": "string", "maxLength": 15, "description": "This field contains the fee amount. This value cannot be negative. \nYou can include a decimal point (.), but no other special characters.\nFormat: String, 15 characters maximum.\nOptional field for ancillary services.\n" }, "feeCode": { "type": "string", "maxLength": 4, "description": "This field contains the ancillary fee code.\nFormat: Alphanumeric, 4 characters maximum.\nOptional field for ancillary services.\n" } } } }, "feeDescription": { "type": "string", "maxLength": 100, "description": "This field contains the fee description for the airline ancillary service provided.\nFormat: Alphanumeric, 100 characters maximum.\nOptional field for ancillary services.\n" } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } }, "processorInformation": { "type": "object", "properties": { "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } }, "responseSourceCode": { "type": "string", "maxLength": 1, "description": "Field contains the response source code that identifies the source.\n" }, "supplementaryTransactionData": { "type": "string", "maxLength": 10240, "description": "Supplementary transaction data for Klarna Advantage Plus.\nFields to capture Interoperability Data from Merchant and transfer to Klarna for Authorization/Sale/Re-Auth/Capture APIs.\n" }, "cedpVerifiedIndicator": { "type": "string", "maxLength": 1, "description": "Merchant Commercial Enhanced Data Program (CEDP) verified indicator for capture/bill requests.\n\nThis field is used when the client is doing authorization with a different gateway and capture/settlement with CyberSource.\n\nThis field flows in ISO field 34, DSID 02 tag DA, in AN, EBCDIC format.\n\nPossible values:\n- `Y`: Merchant CEDP verified\n\n#### Used by\n**Capture Request**\nRequest field for force capture/bill support when auth is done with a different gateway.\n" } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }, "x-example": { "example0": { "summary": "Capture a Payment", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example1": { "summary": "Capture a Payment - Service Fee", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "merchantInformation": { "serviceFeeDescriptor": { "name": "Vacations Service Fee", "contact": 8009999999, "state": "CA" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example14" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example2": { "summary": "Capture of Authorization that used Swiped track data", "sample-name": "Capture of Authorization that used Swiped track data", "value": { "clientReferenceInformation": { "code": "1234567890", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example3": { "summary": "Restaurant Capture with Gratuity", "sample-name": "Restaurant Capture with Gratuity", "value": { "clientReferenceInformation": { "code": 1234567890, "partner": { "thirdPartyCertificationNumber": 123456789012 } }, "processingInformation": { "industryDataType": "restaurant" }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD", "gratuityAmount": "11.50" } } }, "parentTag": "Card Present with Visa Platform Connect" } } }, "refundPayment_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "returnReconciliationId": { "type": "string", "description": "A new ID which is created for refund" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", "items": { "type": "string" } }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", "default": false } } }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "paymentType": { "type": "string", "description": "Identifier for the payment type" }, "refundOptions": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason for the refund." } } }, "transactionTypeIndicator": { "type": "string", "maxLength": 3, "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" }, "merchantVerificationValue": { "type": "string", "maxLength": 25, "description": "The override value of the Merchant Verification Value (MVV) received by various card brands. MVV refers to the value assigned by the card brand/network to identify participation in select merchant programs.\n\nSample value for Visa: `101010`\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" } } }, "paymentAccountReference": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 29, "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN. It identifies the card account, not just a card. PAR is a non-payment identifier that can be associated to PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\n" } } }, "thirdPartyToken": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 16, "description": "When a third party is being used for tokenization, this field contains the token ID. See tokenInformation.thirdPartyToken.source to identify the provider.\n" } } }, "initiationChannel": { "type": "string", "maxLength": 2, "description": "Mastercard-defined code that indicates how the account information was obtained for credit authorization transactions.\n\nPossible values:\n- `00`: Card (default)\n- `01`: Mobile network operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone\n- `02`: Key fob\n- `03`: Watch\n- `04`: Mobile tag\n- `05`: Wristband\n- `06`: Mobile phone case or sleeve\n- `07`: Mobile phone or smartphone with fixed (nonremovable) secure element controlled by the MNO (for example, code division multiple access (CDMA))\n- `08`: Removable secure element not controlled by the MNO (for example, memory card personalized for use with a mobile phone or smartphone)\n- `09`: Mobile phone or smartphone with a fixed (nonremovable) secure element not controlled by the MNO\n- `10`: MNO-controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book\n- `11`: Tablet or e-book with a fixed (nonremovable) secure element controlled by the MNO\n- `12`: Removable secure element not controlled by the MNO (for example, memory card personalized for use with a tablet or e-book)\n- `13`: Tablet or e-book with fixed (nonremovable) secure element not controlled by the MNO\n- `14` - `99`: Reserved for future use\n\nThis field flows in ISO Field 104 DSID 65 Tag 04.\n\nThis field is supported for Mastercard credit authorization transactions.\n\n#### Used by\n**Credit Authorization (Standalone)**\nOptional field.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 50, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } }, "digitalCurrency": { "type": "object", "description": "Digital currency information for the order.", "properties": { "type": { "type": "string", "maxLength": 10, "description": "Currently, Visa uses a broad \"cryptocurrency\" indicator. The enhancement will introduce specific values to identify the type of digital currency or coin involved, such as Central Bank Digital Currency (CBDC), stable coins, blockchain-native tokens, and Non-Fungible Tokens (NFTs). Values: - 1: CBDC_TOKENDEPOSIT - 2: STABLE_COIN - 3: BLOCKCHAIN_NATIVE_TOKEN - 4: NFT" }, "rampProviderCountry": { "type": "string", "maxLength": 10, "description": "Ramp is a platform where we can buy Digital currency, for example Coinbase. This value identifies the country where the Ramp provider is registered." }, "conversionAffiliate": { "type": "string", "maxLength": 10, "description": "Affiliate is the platform for the digital currency transactions. The merchant provides the Affiliate country for transaction processing. The combination of affiliate country and ramp country helps to derive the foreign retail indicator." } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" } } }, "terminalCategory": { "type": "string", "maxLength": 3, "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } }, "processorInformation": { "type": "object", "properties": { "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } } }, "example": { "clientReferenceInformation": { "code": "Testing-VDP-Payments-Refund" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } } }, "refundCapture_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "returnReconciliationId": { "type": "string", "description": "A new ID which is created for refund" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", "items": { "type": "string" } }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", "default": false } } }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "paymentType": { "type": "string", "description": "Identifier for the payment type" }, "refundOptions": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason for the refund." } } }, "transactionTypeIndicator": { "type": "string", "maxLength": 3, "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" }, "merchantVerificationValue": { "type": "string", "maxLength": 25, "description": "The override value of the Merchant Verification Value (MVV) received by various card brands. MVV refers to the value assigned by the card brand/network to identify participation in select merchant programs.\n\nSample value for Visa: `101010`\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" } } }, "paymentAccountReference": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 29, "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN. It identifies the card account, not just a card. PAR is a non-payment identifier that can be associated to PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\n" } } }, "thirdPartyToken": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 16, "description": "When a third party is being used for tokenization, this field contains the token ID. See tokenInformation.thirdPartyToken.source to identify the provider.\n" } } }, "initiationChannel": { "type": "string", "maxLength": 2, "description": "Mastercard-defined code that indicates how the account information was obtained for credit authorization transactions.\n\nPossible values:\n- `00`: Card (default)\n- `01`: Mobile network operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone\n- `02`: Key fob\n- `03`: Watch\n- `04`: Mobile tag\n- `05`: Wristband\n- `06`: Mobile phone case or sleeve\n- `07`: Mobile phone or smartphone with fixed (nonremovable) secure element controlled by the MNO (for example, code division multiple access (CDMA))\n- `08`: Removable secure element not controlled by the MNO (for example, memory card personalized for use with a mobile phone or smartphone)\n- `09`: Mobile phone or smartphone with a fixed (nonremovable) secure element not controlled by the MNO\n- `10`: MNO-controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book\n- `11`: Tablet or e-book with a fixed (nonremovable) secure element controlled by the MNO\n- `12`: Removable secure element not controlled by the MNO (for example, memory card personalized for use with a tablet or e-book)\n- `13`: Tablet or e-book with fixed (nonremovable) secure element not controlled by the MNO\n- `14` - `99`: Reserved for future use\n\nThis field flows in ISO Field 104 DSID 65 Tag 04.\n\nThis field is supported for Mastercard credit authorization transactions.\n\n#### Used by\n**Credit Authorization (Standalone)**\nOptional field.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 50, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } }, "digitalCurrency": { "type": "object", "description": "Digital currency information for the order.", "properties": { "type": { "type": "string", "maxLength": 10, "description": "Currently, Visa uses a broad \"cryptocurrency\" indicator. The enhancement will introduce specific values to identify the type of digital currency or coin involved, such as Central Bank Digital Currency (CBDC), stable coins, blockchain-native tokens, and Non-Fungible Tokens (NFTs). Values: - 1: CBDC_TOKENDEPOSIT - 2: STABLE_COIN - 3: BLOCKCHAIN_NATIVE_TOKEN - 4: NFT" }, "rampProviderCountry": { "type": "string", "maxLength": 10, "description": "Ramp is a platform where we can buy Digital currency, for example Coinbase. This value identifies the country where the Ramp provider is registered." }, "conversionAffiliate": { "type": "string", "maxLength": 10, "description": "Affiliate is the platform for the digital currency transactions. The merchant provides the Affiliate country for transaction processing. The combination of affiliate country and ramp country helps to derive the foreign retail indicator." } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" } } }, "terminalCategory": { "type": "string", "maxLength": 3, "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } }, "processorInformation": { "type": "object", "properties": { "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } } }, "example": { "clientReferenceInformation": { "code": "Testing-VDP-Payments-Refund" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } } }, "createCredit_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with Standalone Credit.\n\nPossible values are one or more of follows:\n\n - `DECISION_SKIP`: Use this when you want to skip Decision Manager service(s).\n", "items": { "type": "string" } }, "actionTokenTypes": { "type": "array", "description": "CyberSource tokens types you are performing a create on.\nIf not supplied the default token type for the merchants token vault will be used.\n\nValid values:\n- customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress\n", "items": { "type": "string" } }, "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "processorId": { "type": "string", "maxLength": 3, "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n" }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "walletType": { "type": "string", "maxLength": 5, "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n" }, "nationalNetDomesticData": { "type": "string", "maxLength": 123, "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", "default": false } } }, "bankTransferOptions": { "type": "object", "properties": { "customerMemo": { "type": "string", "maxLength": 80, "description": "Payment related information.\n\nThis information is included on the customer's statement.\n" }, "secCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n" }, "terminalCity": { "type": "string", "maxLength": 4, "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "terminalState": { "type": "string", "maxLength": 2, "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "effectiveDate": { "type": "string", "maxLength": 8, "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n" }, "partialPaymentId": { "type": "string", "maxLength": 25, "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\n" }, "settlementMethod": { "type": "string", "maxLength": 1, "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n" } } }, "purchaseOptions": { "type": "object", "properties": { "isElectronicBenefitsTransfer": { "type": "boolean", "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" } } }, "electronicBenefitsTransfer": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 4, "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" } } }, "loanOptions": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 20, "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" }, "assetType": { "type": "string", "maxLength": 1, "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" } } }, "japanPaymentOptions": { "type": "object", "properties": { "paymentMethod": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" }, "installments": { "type": "string", "maximum": 99, "description": "Number of Installments.\n" } } }, "refundOptions": { "type": "object", "properties": { "reason": { "type": "string", "description": "Must be set to `pow` for Mastercard Gaming Payment of Winnings tranactions." } } }, "merchantVerificationValue": { "type": "string", "maxLength": 25, "description": "The override value of the Merchant Verification Value (MVV) received by various card brands. MVV refers to the value assigned by the card brand/network to identify participation in select merchant programs.\n\nSample value for Visa: `101010`\n" }, "transactionTypeIndicator": { "type": "string", "maxLength": 3, "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" } } }, "paymentAccountReference": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 29, "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN. It identifies the card account, not just a card. PAR is a non-payment identifier that can be associated to PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\n" } } }, "thirdPartyToken": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 16, "description": "When a third party is being used for tokenization, this field contains the token ID. See tokenInformation.thirdPartyToken.source to identify the provider.\n" } } }, "initiationChannel": { "type": "string", "maxLength": 2, "description": "Mastercard-defined code that indicates how the account information was obtained for credit authorization transactions.\n\nPossible values:\n- `00`: Card (default)\n- `01`: Mobile network operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone\n- `02`: Key fob\n- `03`: Watch\n- `04`: Mobile tag\n- `05`: Wristband\n- `06`: Mobile phone case or sleeve\n- `07`: Mobile phone or smartphone with fixed (nonremovable) secure element controlled by the MNO (for example, code division multiple access (CDMA))\n- `08`: Removable secure element not controlled by the MNO (for example, memory card personalized for use with a mobile phone or smartphone)\n- `09`: Mobile phone or smartphone with a fixed (nonremovable) secure element not controlled by the MNO\n- `10`: MNO-controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book\n- `11`: Tablet or e-book with a fixed (nonremovable) secure element controlled by the MNO\n- `12`: Removable secure element not controlled by the MNO (for example, memory card personalized for use with a tablet or e-book)\n- `13`: Tablet or e-book with fixed (nonremovable) secure element not controlled by the MNO\n- `14` - `99`: Reserved for future use\n\nThis field flows in ISO Field 104 DSID 65 Tag 04.\n\nThis field is supported for Mastercard credit authorization transactions.\n\n#### Used by\n**Credit Authorization (Standalone)**\nOptional field.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" } } } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 50, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } }, "digitalCurrency": { "type": "object", "description": "Digital currency information for the order.", "properties": { "type": { "type": "string", "maxLength": 10, "description": "Currently, Visa uses a broad \"cryptocurrency\" indicator. The enhancement will introduce specific values to identify the type of digital currency or coin involved, such as Central Bank Digital Currency (CBDC), stable coins, blockchain-native tokens, and Non-Fungible Tokens (NFTs). Values: - 1: CBDC_TOKENDEPOSIT - 2: STABLE_COIN - 3: BLOCKCHAIN_NATIVE_TOKEN - 4: NFT" }, "rampProviderCountry": { "type": "string", "maxLength": 10, "description": "Ramp is a platform where we can buy Digital currency, for example Coinbase. This value identifies the country where the Ramp provider is registered." }, "conversionAffiliate": { "type": "string", "maxLength": 10, "description": "Affiliate is the platform for the digital currency transactions. The merchant provides the Affiliate country for transaction processing. The combination of affiliate country and ramp country helps to derive the foreign retail indicator." } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "terminalSerialNumber": { "type": "string", "maxLength": 32, "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n - `4`: Biometric\n - `5`: OTP\n" }, "laneNumber": { "type": "string", "maxLength": 8, "description": "Identifier for an alternate terminal at your retail location. You define the value for this field.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors.\nUse the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals,\nuse this `laneNumber` field to identify the terminal used for the transaction.\n\nThis field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor.\n\nOptional field.\n\n#### Card present reply messaging\nIdentifier for an alternate terminal at your retail location. You defined the value for this field in the request\nmessage. This value must be printed on the receipt.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global.\n" }, "catLevel": { "type": "integer", "minimum": 1, "maximum": 11, "description": "Type of cardholder-activated terminal. Possible values:\n\n - 1: Automated dispensing machine\n - 2: Self-service terminal\n - 3: Limited amount terminal\n - 4: In-flight commerce (IFC) terminal\n - 5: Radio frequency device\n - 6: Mobile acceptance terminal\n - 7: Electronic cash register\n - 8: E-commerce device at your location\n - 9: Terminal or cash register that uses a dialup connection to connect to the transaction processing network\n - 10: Card Activated Fuel Dispenser\n - 11: Travel ticket vending machine\n#### Chase Paymentech Solutions\nOnly values 1, 2, and 3 are supported.\n\nRequired if `pointOfSaleInformation.terminalID` is included in the request; otherwise, optional.\n\n#### CyberSource through VisaNet\nValues 1 through 6 are supported on\nCyberSource through VisaNet, but some\nacquirers do not support all six values.\n\nOptional field.\n\n#### FDC Nashville Global\nOnly values 7, 8, and 9 are supported.\n\nOptional field for EMV transactions; otherwise, not used.\n\n#### GPN\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### JCN Gateway\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### TSYS Acquiring Solutions\nOnly value 6 is supported.\n\nRequired for transactions from mobile devices; otherwise, not used.\n\n#### All other processors\nNot used.\n\nNonnegative integer.\n" }, "entryMode": { "type": "string", "maxLength": 11, "description": "Method of entering payment card information into the POS terminal. Possible values:\n\n - `contact`: Read from direct contact with chip card.\n - `contactless`: Read from a contactless interface using chip data.\n - `keyed`: Manually keyed into POS terminal. This value is not supported on OmniPay Direct.\n - `msd`: Read from a contactless interface using magnetic stripe data (MSD). This value is not supported on OmniPay Direct.\n - `swiped`: Read from credit card magnetic stripe.\n\nThe `contact`, `contactless`, and `msd` values are supported only for EMV transactions.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### Card Present\nCard present information about EMV applies only to credit card processing and PIN debit processing. All other\ncard present information applies only to credit card processing.\n\n#### PIN debit\nRequired for a PIN debit purchase and a PIN debit credit request.\n" }, "terminalCapability": { "type": "integer", "minimum": 1, "maximum": 5, "description": "POS terminal's capability. Possible values:\n\n - `1`: Terminal has a magnetic stripe reader only.\n - `2`: Terminal has a magnetic stripe reader and manual entry capability.\n - `3`: Terminal has manual entry capability only.\n - `4`: Terminal can read chip cards.\n - `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards.\n\nFor an EMV transaction, the value of this field must be `4` or `5`.\n\n#### PIN debit\nRequired for PIN debit purchase and PIN debit credit request.\n\n#### Used by\n**Authorization**\nRequired for the following processors:\n- American Express Direct\n- Chase Paymentech Solutions\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- FDMS Nashville\n- OmniPay Direct\n- SIX\n- Worldpay VAP\n\nOptional for the following processors:\n- CyberSource through VisaNet\n- GPN\n- GPX\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n" }, "operatingEnvironment": { "type": "string", "maxLength": 1, "description": "Operating environment.\n\nPossible values for all card types except Mastercard:\n- `0`: No terminal used or unknown environment.\n- `1`: On merchant premises, attended.\n- `2`: On merchant premises, unattended. Examples: oil, kiosks, self-checkout, mobile telephone, personal digital assistant (PDA).\n- `3`: Off merchant premises, attended. Examples: portable POS devices at trade shows, at service calls, or in taxis.\n- `4`: Off merchant premises, unattended. Examples: vending machines, home computer, mobile telephone, PDA.\n- `5`: On premises of cardholder, unattended.\n- `9`: Unknown delivery mode.\n- `S`: Electronic delivery of product. Examples: music, software, or eTickets that are downloaded over the internet.\n- `T`: Physical delivery of product. Examples: music or software that is delivered by mail or by a courier.\n\n#### Possible values for Mastercard:\n- `2`: On merchant premises, unattended, or cardholder terminal. Examples: oil, kiosks, self-checkout, home computer, mobile telephone, personal digital assistant (PDA). Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n- `4`: Off merchant premises, unattended, or cardholder terminal. Examples: vending machines, home computer, mobile telephone, PDA. Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThis field is supported only for American Express Direct and CyberSource through VisaNet.\n" }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity.\n\nPossible values:\n - `0`: No verification\n - `1`: Signature\n\nThis field is supported only on **American Express Direct**.\n" }, "cardSequenceNumber": { "type": "string", "maxLength": 3, "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards. \n\nWhen this value is available, it is provided by the chip reader. \n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Visa and Mastercard transactions. To enable this feature please call support.\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing. \n\nPIN debit processing is available only on CyberSource through VisaNet and FDC Nashville Global.\n\n#### Used by\nAuthorization: Optional\nPIN Debit processing: Optional\n\n#### GPX\n\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" }, "fallbackCondition": { "type": "integer", "description": "Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for\none of these reasons:\n\n - Technical failure: the EMV terminal or EMV card cannot read and process chip data.\n - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card.\n EMV terminals are coded to determine whether the terminal and EMV card have any applications in common.\n EMV terminals provide this information to you.\n\nPossible values:\n\n - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal either used information from a successful chip read or it was not a chip transaction.\n - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful.\n\nThis field is supported only on **GPN** and **JCN Gateway**.\n**NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field\nwhen the EMV terminal does not have any applications in common with the EMV card.\n" }, "isRepeat": { "type": "boolean", "description": "#### Visa Platform Connect\nValue \"true\" indicates this transaction is intentionally duplicated . The field contains value \"true\" which\nindicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending\na duplicate auth request for a single tap txn because the issuer requested a PIN.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n" }, "trackData": { "type": "string", "description": "Card's track 1 and 2 data. For all processors except FDMS Nashville, this value consists of\none of the following:\n\n - Track 1 data\n - Track 2 data\n - Data for both tracks 1 and 2\n\nFor FDMS Nashville, this value consists of one of the following:\n - Track 1 data\n - Data for both tracks 1 and 2\n\nExample: %B4111111111111111^SMITH/JOHN ^1612101976110000868000000?;4111111111111111=16121019761186800000?\n\n#### Used by\n**Authorization**\nRequired for Chase Paymentech Solutions, Credit Mutuel-CIC, CyberSource through VisaNet, FDC Nashville Global,\nJCN Gateway, OmniPay Direct, and SIX if `pointOfSaleInformation.entryMode` is equal to one of these values:\n- `contact`\n- `contactless`\n- `msd`\n- `swiped`\nOtherwise, this field not used.\n\nRequired for all other processors if `pointOfSaleInformation.entryMode=swiped`; otherwise, this field is not used.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### PIN debit\nTrack 2 data from the debit card. The sentinels are required.\nRequired field for a PIN debit purchase and a PIN debit credit.\n" }, "storeAndForwardIndicator": { "type": "string", "maxLength": 1, "description": "When connectivity is unavailable, the client software that is installed on the POS terminal can store a\ntransaction in its memory and send it for authorization when connectivity is restored. This value is provided by\nthe client software that is installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\nPossible values:\n- `Y`: Transaction was stored and then forwarded.\n- `N` (default): Transaction was not stored and then forwarded.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "cardholderVerificationMethod": { "type": "array", "items": { "type": "string", "example": [ "PIN", "Signature", "pinOnGlass" ] }, "description": "Complete list of cardholder verification methods (CVMs) supported by the terminal.\nOptional field.\nPossible values:\n- `PIN`: For terminals with a PIN Pad\n- `Signature`: For terminals capable of receiving a signature\n- `pinOnGlass`: For terminals where PIN is entered on a glass-based capture mechanism\n\n**EXAMPLE**: [\"PIN\",\"Signature\"]; [\"pinOnGlass\",\"Signature\"]\n" }, "terminalCategory": { "type": "string", "maxLength": 3, "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" }, "terminalInputCapability": { "type": "array", "items": { "type": "string" }, "description": "Complete list of card input methods supported by the terminal.\n\nPossible values:\n- `Keyed`: Terminal can accept card data that is entered manually.\n- `Swiped`: Terminal can accept card data from a magnetic stripe reader.\n- `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\").\n- `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\").\n- `BarCode`: Terminal can read bar codes.\n- `QRcode`: Terminal can read or scan QR codes.\n- `OCR`: Terminal can perform optical character recognition (OCT) on the card.\n\n**EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"]\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "terminalCardCaptureCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can capture the card.\n\nPossible values:\n- `1`: Terminal can capture card.\n- `0`: Terminal cannot capture card.\n\nFor authorizations and credits, this field is supported only by these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n\nOptional field.\n" }, "terminalOutputCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can print or display messages.\n\nPossible values:\n- 1: Neither\n- 2: Print only\n- 3: Display only\n- 4: Print and display\n- 5: Merchant terminal supports purchase only approvals\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n- VisaNet\n\nOptional field.\n" }, "terminalPinCapability": { "type": "integer", "description": "Maximum PIN length that the terminal can capture.\n\nPossible values:\n- 0: No PIN capture capability\n- 1: PIN capture capability unknown\n- 2: PIN Pad down\n- 4: Four characters\n- 5: Five characters\n- 6: Six characters\n- 7: Seven characters\n- 8: Eight characters\n- 9: Nine characters\n- 10: Ten characters\n- 11: Eleven characters\n- 12: Twelve characters\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n- SIX\n- Visa Platform Connect\n\nRequired field for authorization or credit of PIN transactions.\n" }, "pinEntrySolution": { "type": "string", "description": "This field will contain the type of Pin Pad the terminal has.\n\nPossible values:\n- PCI-SPoC: Where the pin is being put on screen\n- PCI-PTS: Where the pin is being put on actual hardware pin pad\n" }, "deviceId": { "type": "string", "maxLength": 32, "description": "Value created by the client software that uniquely identifies the POS device. This value is provided by the\nclient software that is installed on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" }, "pinBlockEncodingFormat": { "type": "integer", "maximum": 9, "description": "Format that is used to encode the PIN block. This value is provided by the client software that is installed on\nthe POS terminal.\n\nPossible values:\n- `0`: ISO 9564 format 0\n- `1`: ISO 9564 format 1\n- `2`: ISO 9564 format 2\n- `3`: ISO 9564 format 3\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also supported by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n\n#### GPX\nFor chip and online PIN transactions for authorization, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Offline PIN\n- Chip and Signature\n\nFor PIN Debit Purchase and Credit Service transactions, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Online PIN\n" }, "encryptedPin": { "type": "string", "maxLength": 16, "description": "Encrypted PIN.\n\nThis value is provided by the client software that is installed on the POS terminal.\n\n#### Used by\n**Authorization, PIN Debit**\nRequired when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\nRequired for PIN debit credit or PIN debit purchase.\nRequired for online PIN transactions.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "encryptedKeySerialNumber": { "type": "string", "maxLength": 20, "description": "Combination of the device's unique identifier and a transaction counter that is used in the process of\ndecrypting the encrypted PIN. The entity that injected the PIN encryption keys into the terminal decrypts the\nencrypted PIN and creates this value.\n\nFor all terminals that are using derived unique key per transaction (DUKPT) encryption, this is generated as a\nsingle number within the terminal.\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n- Required for online PIN transactions\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "encryptedKeyId": { "type": "string", "maxLength": 100, "description": "Identifies the Zone PIN Key (ZPK) used for Online PIN processing by providing the 10\u2011digit Key Set Identifier (KSI).\nThis value indicates that the PIN block is encrypted under a ZPK and enables the Payment Security Service (PSS) to perform \nthe correct ZPK\u2192ZPK PIN translation during card\u2011present EMV PIN transactions.\n" }, "partnerSdkVersion": { "type": "string", "maxLength": 32, "description": "Version of the software installed on the POS terminal. This value is provided by the client software that is\ninstalled on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "emvApplicationIdentifierAndDedicatedFileName": { "type": "string", "maxLength": 32, "description": "This 32 byte length-maximum EBCDIC-K value is used to identify which chip application was performed between the terminal and the chip product.\nThe included values are the Application Identifier (AID) and the Dedicated File (DF) name. It is available to early- or full-option VSDC issuers.\nOnly single byte Katakana characters that can map to the EBCDIC-K table expected in the name.\n" }, "terminalCompliance": { "type": "string", "maxLength": 2, "description": "Flag that indicates whether the terminal is compliant with standards mandated by the Reserve Bank of India for card-present domestic transactions in India.\n\nFormat:\n- First character indicates whether the terminal supports terminal line encryption (TLE). Possible values:\n - 1: Not certified\n - 2: Certified\n- Second character indicates whether the terminal supports Unique Key Per Transaction (UKPT) and Derived Unique Key Per Transaction (DUKPT). Possible values:\n - 1: Not certified\n - 2: Certified\n\n**Example** `21` indicates that the terminal supports TLE but does not support UKPT/DUKPT.\n\nYou and the terminal vendors are responsible for terminal certification. If you have questions, contact your acquirer.\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 92-93\n- Field: Mastercard Terminal Compliance Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n\n#### Used by\n**Authorization**\nRequired for card-present transactions in India. Otherwise, not used.\n" }, "isDedicatedHardwareTerminal": { "type": "string", "maxLength": 1, "description": "Type of mPOS device. Possible values:\n- 0: Dongle\n- 1: Phone or tablet\n\nThis optional field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 141\n- Field: Mastercard mPOS Transaction\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's\nacquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "terminalModel": { "type": "string", "maxLength": 32, "description": "This is the model name of the reader which is used to accept the payment.\nPossible values:\n - E3555\n - P400\n - A920\n" }, "terminalMake": { "type": "string", "maxLength": 32, "description": "This is the manufacturer name of the reader which is used to accept the payment.\nPossible values:\n - PAX\n - Verifone\n - Ingenico\n" }, "serviceCode": { "type": "string", "maxLength": 3, "description": "#### Visa Platform Connect\nMastercard service code that is included in the track data. This field is supported only for Mastercard on Visa Platform Connect. \nYou can extract the service code from the track data and provide it in this API field. \n\nWhen not provided it will be extracted from:\n - Track2Data for MSR transactions\n - EMV tag 5F30 for EMV transactions\n\nTo enable this feature please call support.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantDefinedSecureInformation": { "type": "object", "description": "The object containing the secure data that the merchant defines.\n", "properties": { "secure1": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 1.\n" }, "secure2": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 2.\n" }, "secure3": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 3.\n" }, "secure4": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 4.\n" } } }, "installmentInformation": { "type": "object", "properties": { "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" }, "feeAmount": { "type": "string", "maxLength": 15, "description": "This field contains the fee amount. This value cannot be negative. \nYou can include a decimal point (.), but no other special characters.\nFormat: String, 15 characters maximum.\nOptional field for ancillary services.\n" }, "feeCode": { "type": "string", "maxLength": 4, "description": "This field contains the ancillary fee code.\nFormat: Alphanumeric, 4 characters maximum.\nOptional field for ancillary services.\n" } } } }, "feeDescription": { "type": "string", "maxLength": 100, "description": "This field contains the fee description for the airline ancillary service provided.\nFormat: Alphanumeric, 100 characters maximum.\nOptional field for ancillary services.\n" } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "recipientInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 35, "description": "First name of recipient of the funds.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Required for POW on Barclays\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of recipient of the funds.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Required for POW on Barclays\n" } } }, "senderInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 35, "description": "First name of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Required for POW on Barclays.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Optional for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Optional for POW on Barclays.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "Street address of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 50 characters including spaces.\n* Required for POW on Barclays.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "City of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 25 characters including spaces.\n* Required for POW on Barclays.\n" }, "countryCode": { "type": "string", "maxLength": 3, "description": "Country of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must be a valid three character ISO country code as defined by ISO 3166.\n* Must not be greater than 3 characters.\n* Required for POW on Barclays.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "The state or province of the sender.\nThis field is applicable for AFT transactions when the sender country is US or CA. Else it is optional.\n\nMust be a two character value\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 50, "description": "Account number of the sender of the funds. For Gaming Payment of Winnings transactions this is the merchant account number.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 50 characters.\n* Required for POW on Barclays.\n" }, "fundsSource": { "type": "string", "maxLength": 2, "description": "Source of funds for the sender. For Gaming Payment of Winnings transactions this is the merchant account type.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Valid values:\n * 00 - Other\n * 01 - RTN + Bank Account\n * 02 - IBAN\n * 03 - Card Account\n * 04 - Email\n * 05 - PhoneNumber\n * 06 - Bank account number (BAN) + Bank Identification Code (BIC)\n * 07 - Wallet ID\n * 08 - Social Network ID\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } }, "processorInformation": { "type": "object", "properties": { "network": { "type": "object", "properties": { "economicallyRelatedTxnId": { "type": "string", "maxLength": 50, "description": "Indicates the economically related transaction id" } } } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" }, "networkTokenOption": { "type": "string", "description": "Indicates whether a payment network token associated with a TMS token should be used for authorization. This field can contain one of following values:\n\n- `ignore`: Use a tokenized card number for an authorization, even if the TMS token has an associated payment network token.\n- `prefer`: (Default) Use an associated payment network token for an authorization if the TMS token has one; otherwise, use the tokenized card number.\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } } } } }, "example": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "billTo": { "country": "US", "firstName": "Test", "lastName": "test", "phoneNumber": "9999999999", "address1": "test", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "03", "type": "001" } } } }, "voidPayment_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } }, "voidCapture_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } }, "voidRefund_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } }, "voidCredit_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } }, "mitVoid_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "processingInformation": { "type": "object", "properties": { "paymentId": { "type": "string", "maxLength": 28, "description": "This field is to accept the id of credit/capture in the body of the requests so the type of void can be identified and processed correctly." } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } }, "refreshPaymentStatus_request": { "type": "object", "properties": { "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "description": "The identifier for the billing agreement.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_STATUS`: Use this when Alternative Payment check status service is requested.\n\n - `AP_SESSION_STATUS`: Use this when Alternative Payment check status service for Paypal, Klarna is requested.\n\n - `AP_INITIATE_STATUS`: Use this when Alternative Payment check status service for KCP is requested.\n\n - `AP_ORDER_STATUS`: Use this when Alternative Payment check status service for order status request.\n\n - `AP_AUTH_STATUS`: Use this when Alternative Payment check status service for auth status request.\n\n - `AP_CAPTURE_STATUS`: Use this when Alternative Payment check status service for capture status request.\n\n - `AP_REFUND_STATUS`: Use this when Alternative Payment check status service for refund status request.\n", "items": { "type": "string" } } } } } }, "billingAgreementsRegistration_request": { "type": "object", "properties": { "agreementInformation": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "description": "Identifier for the mandate.\n#### SEPA/BACS\nRequired for mandates services\n" }, "dateSigned": { "type": "string", "description": "Date the mandate has been signed. Format YYYYMMdd\n#### SEPA/BACS\nRequired for Import Mandate\n", "maxLength": 8 }, "type": { "type": "string", "description": "Identifies the type of schedule as either recurring, one-off, split or usage. \nPossible values:\n- recurring\n- oneoff\n- split\n- usage", "maxLength": 25 }, "frequency": { "type": "string", "description": "Regularity with which the event occurs. \nPossible values:\n- annual\n- monthly\n- quarterly\n- semiannual\n- weekly\n- daily\n- adhoc\n- intraday\n- fortnightly", "maxLength": 25 }, "occurrencesPerPeriod": { "type": "integer", "description": "Number of occurrences during the specified period." }, "startDate": { "type": "string", "description": "Start date of the schedule. Format YYYYMMdd", "maxLength": 8 }, "endDate": { "type": "string", "description": "End date of the schedule. Format YYYYMMdd", "maxLength": 8 } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n\n\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "transactionToken": { "type": "string", "maxLength": 256, "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" } } }, "deviceInformation": { "type": "object", "properties": { "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "installmentInformation": { "type": "object", "properties": { "alertPreference": { "type": "string", "maxLength": 5, "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "lastInstallmentDate": { "type": "string", "maxLength": 8, "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" }, "maxAmount": { "type": "string", "maxLength": 12, "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "minAmount": { "type": "string", "maxLength": 12, "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" }, "preferredDay": { "type": "string", "maxLength": 2, "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" }, "sequence": { "type": "integer", "maximum": 999, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "successUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalMaxAmount": { "type": "string", "description": "Maximum amount that may be collected from the customer's account.\n", "maxLength": 15 } } }, "invoiceDetails": { "type": "object", "properties": { "productDescription": { "type": "string", "description": "Brief description of item." } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company's Name, e.g. VISA" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region\nwithin the city or municipality. \n#### SEPA/BACS\nWhen you include this field in a request, the value for this field must\nbe the same as the value for the billTo_state field.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "title": { "type": "string" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "tokenizedCard": { "type": "object", "properties": { "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type.\nPossible Values: \n - SENTENIAL\n - PAYPAL\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `EWALLET`\n- `directDebitSepa`\n- `directDebitBacs`\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Customer's bank account number.\n#### BACS\nRequired for Create Mandate, Import Mandate, and Update Mandate\n" } } }, "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n#### SEPA\nRequired for mandates services\n" }, "swiftCode": { "type": "string", "maxLength": 20, "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\n#### BACS\nRequired for mandates services\n" }, "scheme": { "type": "string", "maxLength": 25, "description": "The scheme that sets the rules for the direct\ndebit process. Possible values:\n - SEPA\n - BACS\n#### SEPA/BACS\nRequired for mandates services\n" }, "accountAlias": { "type": "object", "properties": { "id": { "type": "string", "description": "The value of the alias, such as a phone number, email address, account number, business number, or organization ID.\n", "maxLength": 255 }, "type": { "type": "string", "description": "Indicates the kind of alias provided (phone, email, account number, business number, or organization ID).\n \nPossible values:\n- phone\n- email\n- accountNumber\n- businessNumber\n- accountID" } } } } } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Used to determine fees based on channel.\n\nPossible values:\n\n - aesk: American Express SafeKey authentication was successful.\n - aesk_attempted: American Express SafeKey authentication was attempted but did not succeed. \u2022 install: Installment payment.\n - install_internet: Non-U.S. e-commerce (Internet) installment payment. This value is supported only on Visa Platform Connect.\n - internet (default for authorizations): E-commerce order placed using a web site.\n - js: JCB J/Secure authentication was successful.\n - js_attempted: JCB J/Secure authentication was attempted but did not succeed.\n - moto: Mail order or telephone order.\n - moto_cc: Mail order or telephone order from a call center. This value is supported only on the Asia, Middle East, and Africa Gateway.\n - pb: ProtectBuy authentication was successful.\n - pb_attempted: ProtectBuy authentication was attempted but did not succeed.\n - recurring: Recurring payment that is a U.S. transaction or non-U.S. mail order / telephone order (MOTO) transaction.\n - recurring_internet: Recurring payment that is a non-U.S. e-commerce (Internet) transaction.\n - retail: Card-present transaction.\n - spa: For Mastercard Identity Check: Authentication was successful or was attempted but did not succeed. The e-commerce indicator for all Mastercard Identity Check transactions, including authentication attempts, must be set to spa.\n - spa_attempted: Authentication for a co-badged Mastercard and Cartes Bancaires card was attempted but did not succeed.\n - spa_failure: \u2013 For Mastercard Identity Check: Authentication failed. This value is supported only on Elavon, HSBC, and Streamline.\n - vbv: \u2013 For Visa Secure: Authentication was successful.\n - vbv_attempted: \u2013 For Visa Secure: Authentication was attempted but did not succeed.\n - vbv_failure: \u2013 For Visa Secure: Authentication failed. This value is supported only on HSBC and Streamline.\n" }, "paymentCompletionTimeout": { "type": "string", "description": "Period after which an authorization request to the consumer expires due to inactivity. Value in seconds (e.g., 86400 for one day).\n", "maxLength": 7 }, "actionList": { "type": "array", "description": "- Use `CONSUMER_AUTHENTICATION` to use Payer Authentication along with Decision Manager. For any other value, only Decision Manager will run.\n- Use `WATCHLIST_SCREENING` when you want to call Watchlist Screening service.\n- Use `UPDATE_AGREEMENT`\n- Use `BILLING_AGREEMENT_CREATE` when Alternative Payment create mandate service is requested\n- Use `CANCEL_AGREEMENT`\n- Use `AP_IMPORT_AGREEMENT` when Alternative Payment import mandate service is requested.\n", "items": { "type": "string" } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 1, "description": "Customer's gender. Possible values are F (female), M (male), O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user" } } } }, "example": { "agreementInformation": { "id": "G8UD2OKG49UW", "dateSigned": "20181109" }, "clientReferenceInformation": { "code": "TC84105-1" }, "buyerInformation": { "merchantCustomerId": "123456", "dateOfBirth": "19990101", "gender": "F", "language": "en" }, "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "transactionFlowIndicator": "2" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "CONSUMER_AUTHENTICATION" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "billTo": { "country": "IN", "firstName": "Krishna", "middleName": "Foster", "lastName": "CYBS", "phoneNumber": "9999999999", "address1": "201 S. Division St.", "address2": "Suite A101", "district": "BLR", "county": "San Francisco", "postalCode": "560048", "locality": "NPCI", "company": "Visa", "administrativeArea": "MI", "email": "test@cybs.com", "title": "Senior Buyer" }, "amountDetails": { "totalAmount": "0.00", "currency": "INR" } }, "merchantInformation": { "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess", "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure", "transactionLocalDateTime": "20211216124549", "categoryCode": "1234", "merchantDescriptor": { "country": "IN", "contact": "1234567890", "postalCode": "213213", "locality": "local", "administrativeArea": "TN" } }, "paymentInformation": { "paymentType": { "method": { "name": "SENTENIAL" }, "name": "directDebitBacs" }, "bank": { "account": { "number": "1234567890ABCDEFGHIJ0123456789" }, "iban": "NL51ABNC1122334455", "swiftCode": "ABNCNL2AGMK", "scheme": "bacs" }, "card": { "expirationYear": "2031", "number": "6080906188079", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "minAmount": "10", "sequence": "2", "firstInstallmentDate": "01122023", "alertPreference": "SMS", "lastInstallmentDate": "01012025", "preferredDay": "05", "maxAmount": "100", "totalCount": "24", "frequency": "1", "paymentType": "1" } } }, "billingAgreementsDeRegistration_request": { "type": "object", "properties": { "agreementInformation": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "description": "Identifier for the mandate.\n#### SEPA/BACS\nRequired for mandates services\n" }, "eSignIndicator": { "type": "string", "maxLength": 1 }, "type": { "type": "string", "description": "Identifies the type of schedule as either recurring, one-off, split or usage. \nPossible values:\n- recurring\n- oneoff\n- split\n- usage", "maxLength": 25 }, "frequency": { "type": "string", "description": "Regularity with which the event occurs. \nPossible values:\n- annual\n- monthly\n- quarterly\n- semiannual\n- weekly\n- daily\n- adhoc\n- intraday\n- fortnightly", "maxLength": 25 }, "dateRevoked": { "type": "string", "description": "Date the agreement was revoked (YYYYMMDD)\n", "maxLength": 8 } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n\n\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "merchantCategoryCode": { "type": "number", "maxLength": 20, "x-nullable": true } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "transactionToken": { "type": "string", "maxLength": 256, "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" } } }, "deviceInformation": { "type": "object", "properties": { "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "installmentInformation": { "type": "object", "properties": { "alertPreference": { "type": "string", "maxLength": 5, "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "lastInstallmentDate": { "type": "string", "maxLength": 8, "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" }, "maxAmount": { "type": "string", "maxLength": 12, "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "minAmount": { "type": "string", "maxLength": 12, "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" }, "preferredDay": { "type": "string", "maxLength": 2, "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" }, "sequence": { "type": "integer", "maximum": 999, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "successUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalMaxAmount": { "type": "string", "description": "Maximum amount that may be collected from the customer's account.\n", "maxLength": 15 } } }, "invoiceDetails": { "type": "object", "properties": { "productDescription": { "type": "string", "description": "Brief description of item." } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company's Name, e.g. VISA" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region\nwithin the city or municipality. \n#### SEPA/BACS\nWhen you include this field in a request, the value for this field must\nbe the same as the value for the billTo_state field.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "title": { "type": "string" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "tokenizedCard": { "type": "object", "properties": { "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type.\nPossible Values: \n - SENTENIAL\n - PAYPAL\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `EWALLET`\n- `directDebitSepa`\n- `directDebitBacs`\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Customer's bank account number.\n#### BACS\nRequired for Create Mandate, Import Mandate, and Update Mandate\n" } } }, "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n#### SEPA\nRequired for mandates services\n" }, "swiftCode": { "type": "string", "maxLength": 20, "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\n#### BACS\nRequired for mandates services\n" }, "scheme": { "type": "string", "maxLength": 25, "description": "The scheme that sets the rules for the direct\ndebit process. Possible values:\n - SEPA\n - BACS\n#### SEPA/BACS\nRequired for mandates services\n" }, "accountAlias": { "type": "object", "properties": { "id": { "type": "string", "description": "The value of the alias, such as a phone number, email address, account number, business number, or organization ID.\n", "maxLength": 255 }, "type": { "type": "string", "description": "Indicates the kind of alias provided (phone, email, account number, business number, or organization ID).\n \nPossible values:\n- phone\n- email\n- accountNumber\n- businessNumber\n- accountID" } } } } } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Used to determine fees based on channel.\n\nPossible values:\n\n - aesk: American Express SafeKey authentication was successful.\n - aesk_attempted: American Express SafeKey authentication was attempted but did not succeed. \u2022 install: Installment payment.\n - install_internet: Non-U.S. e-commerce (Internet) installment payment. This value is supported only on Visa Platform Connect.\n - internet (default for authorizations): E-commerce order placed using a web site.\n - js: JCB J/Secure authentication was successful.\n - js_attempted: JCB J/Secure authentication was attempted but did not succeed.\n - moto: Mail order or telephone order.\n - moto_cc: Mail order or telephone order from a call center. This value is supported only on the Asia, Middle East, and Africa Gateway.\n - pb: ProtectBuy authentication was successful.\n - pb_attempted: ProtectBuy authentication was attempted but did not succeed.\n - recurring: Recurring payment that is a U.S. transaction or non-U.S. mail order / telephone order (MOTO) transaction.\n - recurring_internet: Recurring payment that is a non-U.S. e-commerce (Internet) transaction.\n - retail: Card-present transaction.\n - spa: For Mastercard Identity Check: Authentication was successful or was attempted but did not succeed. The e-commerce indicator for all Mastercard Identity Check transactions, including authentication attempts, must be set to spa.\n - spa_attempted: Authentication for a co-badged Mastercard and Cartes Bancaires card was attempted but did not succeed.\n - spa_failure: \u2013 For Mastercard Identity Check: Authentication failed. This value is supported only on Elavon, HSBC, and Streamline.\n - vbv: \u2013 For Visa Secure: Authentication was successful.\n - vbv_attempted: \u2013 For Visa Secure: Authentication was attempted but did not succeed.\n - vbv_failure: \u2013 For Visa Secure: Authentication failed. This value is supported only on HSBC and Streamline.\n" }, "paymentCompletionTimeout": { "type": "string", "description": "Period after which an authorization request to the consumer expires due to inactivity. Value in seconds (e.g., 86400 for one day).\n", "maxLength": 7 }, "actionList": { "type": "array", "description": "- Use `CONSUMER_AUTHENTICATION` to use Payer Authentication along with Decision Manager. For any other value, only Decision Manager will run.\n- Use `WATCHLIST_SCREENING` when you want to call Watchlist Screening service.\n- Use `BILLING_AGREEMENT_CREATE` when Paypal billing agreements service is requested.\n- Use `UPDATE_AGREEMENT`\n- Use `CANCEL_AGREEMENT`\n- Use `AP_UPDATE_AGREEMENT` when Alternative Payment update mandate service is requested.\n- Use `AP_CANCEL_AGREEMENT` when Alternative Payment revoke mandate service is requested.\n- Use `AP_REFRESH_AGREEMENT_STATUS` when Alternative Payment mandate status service is requested.\n", "items": { "type": "string" } } } }, "buyerInformation": { "type": "object", "properties": { "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 1, "description": "Customer's gender. Possible values are F (female), M (male), O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user" } } } }, "example": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "UPDATE_AGREEMENT" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "INR" }, "billTo": { "firstName": "Comet", "middleName": "Foster", "lastName": "Bowditch", "address1": "808 Metro Blvd", "address2": "Suite A101", "locality": "San Francisco", "district": "SF", "administrativeArea": "CA", "postalCode": "944041234", "country": "US", "county": "San Francisco", "phoneNumber": "16501234567", "email": "srbuyeroffice@cybs.com", "title": "Senior Buyer", "company": "Cybersource Trading Inc." } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082794233463", "securityCode": "123", "expirationMonth": "12", "type": "061" }, "paymentType": { "method": { "name": "SENTENIAL" }, "name": "directDebitBacs" }, "bank": { "account": { "number": "1234567890ABCDEFGHIJ0123456789" }, "iban": "NL51ABNC1122334455", "swiftCode": "ABNCNL2AGMK", "scheme": "bacs" } }, "installmentInformation": { "paymentType": "1", "identifier": "1000000" }, "agreementInformation": { "id": "G8UD2OKG49UW", "eSignIndicator": "y" }, "clientReferenceInformation": { "code": "TC84105-1" }, "buyerInformation": { "dateOfBirth": "19990101", "gender": "F", "language": "en" }, "merchantInformation": { "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess", "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure" } } }, "billingAgreementsIntimation_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "installmentInformation": { "type": "object", "properties": { "alertPreference": { "type": "string", "maxLength": 5, "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "lastInstallmentDate": { "type": "string", "maxLength": 8, "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" }, "maxAmount": { "type": "string", "maxLength": 12, "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "minAmount": { "type": "string", "maxLength": 12, "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" }, "preferredDay": { "type": "string", "maxLength": 2, "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" }, "sequence": { "type": "integer", "maximum": 999, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "successUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalMaxAmount": { "type": "string", "description": "Maximum amount that may be collected from the customer's account.\n", "maxLength": 15 } } }, "invoiceDetails": { "type": "object", "properties": { "productDescription": { "type": "string", "description": "Brief description of item." } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company's Name, e.g. VISA" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region\nwithin the city or municipality. \n#### SEPA/BACS\nWhen you include this field in a request, the value for this field must\nbe the same as the value for the billTo_state field.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "title": { "type": "string" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "tokenizedCard": { "type": "object", "properties": { "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type.\nPossible Values: \n - SENTENIAL\n - PAYPAL\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `EWALLET`\n- `directDebitSepa`\n- `directDebitBacs`\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Customer's bank account number.\n#### BACS\nRequired for Create Mandate, Import Mandate, and Update Mandate\n" } } }, "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n#### SEPA\nRequired for mandates services\n" }, "swiftCode": { "type": "string", "maxLength": 20, "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\n#### BACS\nRequired for mandates services\n" }, "scheme": { "type": "string", "maxLength": 25, "description": "The scheme that sets the rules for the direct\ndebit process. Possible values:\n - SEPA\n - BACS\n#### SEPA/BACS\nRequired for mandates services\n" }, "accountAlias": { "type": "object", "properties": { "id": { "type": "string", "description": "The value of the alias, such as a phone number, email address, account number, business number, or organization ID.\n", "maxLength": 255 }, "type": { "type": "string", "description": "Indicates the kind of alias provided (phone, email, account number, business number, or organization ID).\n \nPossible values:\n- phone\n- email\n- accountNumber\n- businessNumber\n- accountID" } } } } } } } }, "example": { "orderInformation": { "amountDetails": { "totalAmount": "00", "currency": "INR" } }, "merchantInformation": { "transactionLocalDateTime": "20211216124549" }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082302886091", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "identifier": "1000000000", "minAmount": "100", "sequence": "2", "firstInstallmentDate": "2111", "alertPreference": "SMS", "lastInstallmentDate": "3110", "preferredDay": "1", "maxAmount": "1000", "paymentType": "1" } } }, "createOrderRequest_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the order to invoke bundled services along with order.\nPossible values:\n- `AP_ORDER`: Use this when Alternative Payment Order service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type\n" } } } } }, "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 26, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval." } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 10, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency used for the order\n" }, "subTotalAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "handlingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate handling charges for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate shipping charges for the transaction If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingDiscountAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "taxAmount": { "type": "string", "maxLength": 10, "description": "Total tax amount. When the purchaseTotals_ taxAmount and ap_subtotalAmount fields are included in the request, do not include the tax amount as part of the subtotal amount calculation.\n" }, "insuranceAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged for the insurance fee. Only supported when the payment_method is set to paypal.\n" }, "giftWrapAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged as gift wrap fee.\n \n" } } } } } } }, "CreateSessionRequest_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "processingInformation": { "type": "object", "properties": { "sessionType": { "type": "string", "maxLength": 5, "description": "Will have 2 values, 'U' (Update) , 'N' (New). Any other values will be rejected. Default will be 'N'\n" }, "paymentFlowMode": { "type": "string", "maxLength": 50, "description": "Whether merchant wants to pass the flow Inline or want to invoke Klarna Hosted Page\n" }, "actionList": { "type": "array", "description": "Possible values are one or more of follows:\n\n - `AP_SESSIONS`: Use this when Alternative Payment Sessions service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\n Possible values:\n UNRESTRICTED (default)\u2014this value is\n available only when configured by PayPal\n for the merchant.\n INSTANT.\n" } } }, "options": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 255, "description": "Identifier for a PayPal credit transaction.\nValue: Credit\n" } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" }, "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 87, "description": "Company Name.\n" } } }, "shipTo": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 60, "description": "Customer's primary email address, including the full domain name.\n" }, "title": { "type": "string", "description": "The title of the person receiving the product.", "maxLength": 60 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "buildingNumber": { "type": "string", "maxLength": 15, "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "immutable": { "type": "string", "description": "Indicates whether customers are permitted to\nedit the shipping address in their PayPal\naccount. Possible values:\n- true: Customer cannot edit the shipping\naddress.\n- false (default): Customer can edit the\nshipping address.\n", "maxLength": 100 }, "notApplicable": { "type": "string", "description": "Indicates whether the shipping address is\ndisplayed to the customer in their PayPal\naccount. Possible values:\n- true: Shipping address is not displayed.\n- false (default): Shipping address is\ndisplayed.\nFor example, for digital downloads and\nservices in which a shipping address is not\nrequired, set the value to true.\n", "maxLength": 10 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 30 } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "invoiceAmount": { "type": "string", "maxLength": 12, "description": "Invoice amount.\n\nThe invoice amount issued by the Merchant to the Cardholder, which includes VAT (excluding items such as TIPS or CASHBACK).\nFor transactions that do not have applicable Benefit Laws, the field may be entered as zeros.\n\nThis field is only applicable for Uruguay market.\n\nExample: 100.00\n\nUruguay\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n\n- Record: CP01 TCR9\n- Position: 7-18\n- Field: Invoice Amount\n" }, "giftwrapAmount": { "type": "string", "maxLength": 19, "description": "giftwrap amount (RFU)." }, "handlingAmount": { "type": "string", "maxLength": 19, "description": "handling amount (RFU)" }, "shippingAmount": { "type": "string", "maxLength": 19, "description": "shipping amount (RFU)" }, "shippingDiscountAmount": { "type": "string", "maxLength": 19, "description": "shipping discount amount (RFU)" }, "insuranceAmount": { "type": "string", "maxLength": 19, "description": "insurance amount (RFU)" } } }, "lineItems": { "type": "array", "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productDescription": { "type": "string", "description": "Brief description of item." } } } }, "invoiceDetails": { "type": "object", "properties": { "costCenter": { "type": "string", "description": "Cost centre of the merchant." }, "productDescription": { "type": "string", "description": "Brief description of item." } } }, "shippingDetails": { "type": "object", "properties": { "shippingMethod": { "type": "string", "maxLength": 32, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n\nKlarna Advantage Plus additional values:\n - `TO_DOOR`: Delivery to door\n - `TO_CURB`: Delivery to curb\n - `TO_MAILBOX`: Delivery to mailbox\n - `PICKUP_BOX`: Pickup from box\n - `PICKUP_POINT`: Pickup from point\n - `PICKUP_STORE`: Pickup from store\n - `PICKUP_WAREHOUSE`: Pickup from warehouse\n - `DIGITAL_EMAIL`: Digital delivery via email\n - `DIGITAL_DOWNLOAD`: Digital download\n - `DIGITAL_OTHER`: Other digital delivery\n - `PHYSICAL_OTHER`: Other physical delivery\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "noteToSeller": { "type": "string", "maxLength": 255, "description": "Note to the recipient of the funds in this transaction" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "deviceType": { "type": "string", "maxLength": 60, "description": "The device type at the client side." }, "id": { "type": "string", "maxLength": 50, "description": "../../../commons/definitions/device.yaml#/properties/id" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 2048, "description": "customer would be redirected to this url based on the decision of the transaction" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "noteToBuyer": { "type": "string", "maxLength": 25, "description": "Free-form text field." } } }, "userInterface": { "type": "object", "properties": { "borderRadius": { "type": "string", "maxLength": 19, "description": "Border Radius, Allowed Values - Number, Chars, SPACE, Percentage(%), DOT(.),\nExample '25px 10px 25px 10px'; '2em 1em 0.5em 3em'\n" }, "theme": { "type": "string", "maxLength": 19, "description": "UI Theme Name/Design Name - Allowed Chars: Alpha Numeric, Dot (.), Hyphen (-), Underscore (_)\n" }, "color": { "type": "object", "properties": { "border": { "type": "string", "description": "Border Color\n", "maxLength": 10 }, "borderSelected": { "type": "string", "description": "Selected Border Color\n", "maxLength": 10 }, "button": { "type": "string", "description": "Button Color\n", "maxLength": 10 }, "buttonText": { "type": "string", "description": "Button Text Color\n", "maxLength": 10 }, "checkbox": { "type": "string", "description": "Checkbox Color\n", "maxLength": 10 }, "checkboxCheckMark": { "type": "string", "description": "Checkbox Checkmark Color\n", "maxLength": 10 }, "header": { "type": "string", "description": "Header Color\n", "maxLength": 10 }, "link": { "type": "string", "description": "Link Color\n", "maxLength": 10 }, "text": { "type": "string", "description": "Text Color\n", "maxLength": 10 } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "agreementInformation": { "type": "object", "properties": { "indicator": { "type": "string", "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" }, "description": { "type": "string", "description": "Description of the billing agreement" } } }, "travelInformation": { "type": "object", "properties": { "autoRental": { "type": "object", "properties": { "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" } } } } } } }, "UpdateSessionReq_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "processingInformation": { "type": "object", "properties": { "sessionType": { "type": "string", "maxLength": 5, "description": "Will have 2 values, 'U' (Update) , 'N' (New). Any other values will be rejected. Default will be 'N'\n" }, "paymentFlowMode": { "type": "string", "maxLength": 50, "description": "Whether merchant wants to pass the flow Inline or want to invoke Klarna Hosted Page\n" }, "actionList": { "type": "array", "description": "Possible values are one or more of follows:\n\n - `AP_SESSIONS`: Use this when Alternative Payment Sessions service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\n Possible values:\n UNRESTRICTED (default)\u2014this value is\n available only when configured by PayPal\n for the merchant.\n INSTANT.\n" } } }, "options": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 255, "description": "Identifier for a PayPal credit transaction.\nValue: Credit\n" } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" }, "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 87, "description": "Company Name.\n" } } }, "shipTo": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 60, "description": "Customer's primary email address, including the full domain name.\n" }, "title": { "type": "string", "description": "The title of the person receiving the product.", "maxLength": 60 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "buildingNumber": { "type": "string", "maxLength": 15, "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "immutable": { "type": "string", "description": "Indicates whether customers are permitted to\nedit the shipping address in their PayPal\naccount. Possible values:\n- true: Customer cannot edit the shipping\naddress.\n- false (default): Customer can edit the\nshipping address.\n", "maxLength": 100 }, "notApplicable": { "type": "string", "description": "Indicates whether the shipping address is\ndisplayed to the customer in their PayPal\naccount. Possible values:\n- true: Shipping address is not displayed.\n- false (default): Shipping address is\ndisplayed.\nFor example, for digital downloads and\nservices in which a shipping address is not\nrequired, set the value to true.\n", "maxLength": 10 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 30 } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 16, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "invoiceAmount": { "type": "string", "maxLength": 12, "description": "Invoice amount.\n\nThe invoice amount issued by the Merchant to the Cardholder, which includes VAT (excluding items such as TIPS or CASHBACK).\nFor transactions that do not have applicable Benefit Laws, the field may be entered as zeros.\n\nThis field is only applicable for Uruguay market.\n\nExample: 100.00\n\nUruguay\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n\n- Record: CP01 TCR9\n- Position: 7-18\n- Field: Invoice Amount\n" }, "giftwrapAmount": { "type": "string", "maxLength": 19, "description": "giftwrap amount (RFU)." }, "handlingAmount": { "type": "string", "maxLength": 19, "description": "handling amount (RFU)" }, "shippingAmount": { "type": "string", "maxLength": 19, "description": "shipping amount (RFU)" }, "shippingDiscountAmount": { "type": "string", "maxLength": 19, "description": "shipping discount amount (RFU)" }, "insuranceAmount": { "type": "string", "maxLength": 19, "description": "insurance amount (RFU)" } } }, "lineItems": { "type": "array", "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productDescription": { "type": "string", "description": "Brief description of item." } } } }, "invoiceDetails": { "type": "object", "properties": { "costCenter": { "type": "string", "description": "Cost centre of the merchant." }, "productDescription": { "type": "string", "description": "Brief description of item." } } }, "shippingDetails": { "type": "object", "properties": { "shippingMethod": { "type": "string", "maxLength": 32, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n\nKlarna Advantage Plus additional values:\n - `TO_DOOR`: Delivery to door\n - `TO_CURB`: Delivery to curb\n - `TO_MAILBOX`: Delivery to mailbox\n - `PICKUP_BOX`: Pickup from box\n - `PICKUP_POINT`: Pickup from point\n - `PICKUP_STORE`: Pickup from store\n - `PICKUP_WAREHOUSE`: Pickup from warehouse\n - `DIGITAL_EMAIL`: Digital delivery via email\n - `DIGITAL_DOWNLOAD`: Digital download\n - `DIGITAL_OTHER`: Other digital delivery\n - `PHYSICAL_OTHER`: Other physical delivery\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user. \nSupports 2-character language codes (e.g., en, fr) and 5-character locale values (e.g., en-US, fr-CA).\n" }, "noteToSeller": { "type": "string", "maxLength": 255, "description": "Note to the recipient of the funds in this transaction" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "deviceType": { "type": "string", "maxLength": 60, "description": "The device type at the client side." }, "id": { "type": "string", "maxLength": 50, "description": "../../../commons/definitions/device.yaml#/properties/id" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 2048, "description": "customer would be redirected to this url based on the decision of the transaction" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "noteToBuyer": { "type": "string", "maxLength": 25, "description": "Free-form text field." } } }, "userInterface": { "type": "object", "properties": { "borderRadius": { "type": "string", "maxLength": 19, "description": "Border Radius, Allowed Values - Number, Chars, SPACE, Percentage(%), DOT(.),\nExample '25px 10px 25px 10px'; '2em 1em 0.5em 3em'\n" }, "theme": { "type": "string", "maxLength": 19, "description": "UI Theme Name/Design Name - Allowed Chars: Alpha Numeric, Dot (.), Hyphen (-), Underscore (_)\n" }, "color": { "type": "object", "properties": { "border": { "type": "string", "description": "Border Color\n", "maxLength": 10 }, "borderSelected": { "type": "string", "description": "Selected Border Color\n", "maxLength": 10 }, "button": { "type": "string", "description": "Button Color\n", "maxLength": 10 }, "buttonText": { "type": "string", "description": "Button Text Color\n", "maxLength": 10 }, "checkbox": { "type": "string", "description": "Checkbox Color\n", "maxLength": 10 }, "checkboxCheckMark": { "type": "string", "description": "Checkbox Checkmark Color\n", "maxLength": 10 }, "header": { "type": "string", "description": "Header Color\n", "maxLength": 10 }, "link": { "type": "string", "description": "Link Color\n", "maxLength": 10 }, "text": { "type": "string", "description": "Text Color\n", "maxLength": 10 } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", "maxLength": 800, "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "agreementInformation": { "type": "object", "properties": { "indicator": { "type": "string", "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" }, "description": { "type": "string", "description": "Description of the billing agreement" } } }, "travelInformation": { "type": "object", "properties": { "autoRental": { "type": "object", "properties": { "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" } } } } } } }, "createOrder_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "processingInformation": { "type": "object", "properties": { "processingInstruction": { "type": "string", "maxLength": 36, "description": "The instruction to process an order.\n- default value: 'NO_INSTRUCTION'\n- 'ORDER_SAVED_EXPLICITLY'\n" }, "authorizationOptions": { "type": "object", "properties": { "authType": { "type": "string", "maxLength": 15, "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" } } }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the order to invoke bundled services along with order.\nPossible values:\n- `AP_ORDER`: Use this when Alternative Payment Order service is requested.\n", "items": { "type": "string" } }, "highRiskTransactionFlag": { "type": "string", "description": "Indicates if the transaction is flagged as high risk.\n" }, "transactionRetry": { "type": "string", "description": "Indicates if the transaction is a retry.\n" }, "lastOneHrTransactionCount": { "type": "string", "description": "The number of transactions in the last one hour.\n" }, "lastOneDayTransactionCount": { "type": "string", "description": "The number of transactions in the last one day.\n" }, "lastThreeMonthsTxnCount": { "type": "string", "description": "The number of transactions in the last three months.\n" }, "totalTransactionCount": { "type": "string", "description": "The total number of transactions.\n" }, "pinVerification": { "type": "string", "description": "Indicates if PIN verification is required.\n" }, "faceIdVerification": { "type": "string", "description": "Indicates if face ID verification is required.\n" }, "userPassedVerification": { "type": "string", "description": "Indicates if the user passed verification.\n" }, "ipAddress": { "type": "string", "description": "The IP address of the user.\n" }, "transactionDate": { "type": "string", "description": "The date of the transaction.\n" }, "tangible": { "type": "string", "description": "Indicates if the transaction involves tangible goods.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "email": { "type": "string", "maxLength": 254, "description": "Email address of the merchant." } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 2048, "description": "customer would be redirected to this url based on the decision of the transaction" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n - 'payPal'\n - 'venmo'\n" } } } } }, "tokenizedPaymentMethod": { "type": "object", "properties": { "description": { "type": "string", "maxLength": 128, "description": "Description of the vaulted payment method shown to the buyer during checkout and in their PayPal account.\n" }, "usagePattern": { "type": "string", "maxLength": 30, "description": "Indicates how the merchant will primarily use the vaulted payment method. Valid values:\n- \"IMMEDIATE\": For on-demand, instant payments. These payments are variable in both amount and frequency and will be used to pay for goods or services before they are rendered to the buyer\n- \"DEFERRED\": For post-pay payments; that is, payments for goods or services that have already been rendered to the buyer\n- \"RECURRING_PREPAID\": For recurring payments before services are rendered.\n- \"RECURRING_POSTPAID\": For recurring payments after services are rendered.\n- \"THRESHOLD_PREPAID\": For payments when a pre-defined threshold is reached before services are rendered.\n- \"THRESHOLD_POSTPAID\": For payments when a pre-defined threshold is reached after services are rendered.\n" }, "usageType": { "type": "string", "maxLength": 255, "description": "Indicates the type of vaulting relationship. Valid values:\n- \"MERCHANT\": Single merchant relationship.\n- \"PLATFORM\": Platform hosting multiple merchants.\n" }, "allowMultipleTokens": { "type": "string", "description": "Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account.\n" } } }, "industryType": { "type": "string", "description": "Indicates the industry type. Possible Values:\n- \"Events\"\n- \"Ticketing\"\n- \"Fuel\"\n- \"GAMING\"\n- \"DIGITAL GOODS\"\n- \"TELCO\"\n- \"Token Service Providers\"\n- \"Gambling\"\n- \"CFDs\"\n- \"car rental\"\n- \"hotel\"\n- \"transportation\"\n- \"travel package\"\n- \"Cruise Line\"\n- \"P2P\"\n- \"Retail\"\n- \"Food\"\n- \"Groceries\"\n- \"Ride Sharing\"\n- \"Taxi\"\n- \"Remittance\"\n- \"Crypto\"\n- \"Marketplaces\"\n" }, "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 26, "description": "The unique ID for a customer generated by PayPal.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 32, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order\n" }, "discountAmount": { "type": "string", "maxLength": 32, "description": "Discount amount for the transaction. \n" }, "shippingAmount": { "type": "string", "maxLength": 32, "description": "Aggregate shipping charges for the transactions.\n" }, "shippingDiscountAmount": { "type": "string", "maxLength": 32, "description": "Shipping discount amount for the transaction. \n" }, "taxAmount": { "type": "string", "maxLength": 32, "description": "Total tax amount. \n" }, "insuranceAmount": { "type": "string", "maxLength": 32, "description": "Amount being charged for the insurance fee. \n" }, "dutyAmount": { "type": "string", "maxLength": 32, "description": "Amount being charged as duty amount. \n" } } }, "billTo": { "type": "object", "properties": { "email": { "type": "string", "minLength": 3, "maxLength": 254, "description": "Email address of the PayPal account holder.\n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" }, "email": { "type": "string", "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "description": "Phone number associated with the shipping address.\n" } } }, "lineItems": { "type": "array", "maxItems": 10, "items": { "type": "object", "properties": { "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" } } } }, "invoiceDetails": { "type": "object", "properties": { "productDescription": { "type": "string", "description": "Brief description of item." } } } } }, "senderInformation": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "description": "The account number of the sender.\n" } } }, "firstName": { "type": "string", "description": "The first name of the sender.\n" }, "lastName": { "type": "string", "description": "The last name of the sender.\n" }, "email": { "type": "string", "description": "The email address of the sender.\n" }, "phoneNumber": { "type": "string", "description": "The phone number of the sender.\n" }, "countryCode": { "type": "string", "description": "The country code of the sender.\n" }, "createDate": { "type": "string", "description": "The date when the sender's account was created.\n" }, "postalCode": { "type": "string", "description": "The postal code of the sender.\n" }, "riskPopularityScore": { "type": "string", "description": "The risk popularity score of the sender.\n" } } }, "eventInformation": { "type": "object", "properties": { "date": { "type": "string", "description": "The date of the event.\n" }, "type": { "type": "string", "description": "The type of the event.\n" }, "totalTickets": { "type": "string", "description": "The total number of tickets for the event.\n" } } }, "travelInformation": { "type": "object", "properties": { "agency": { "type": "object", "properties": { "startDate": { "type": "string", "description": "The start date of the agency's service.\n" }, "endDate": { "type": "string", "description": "The end date of the agency's service.\n" }, "changeOfGuest": { "type": "string", "description": "Indicates if there is a change of guest.\n" }, "countryCode": { "type": "string", "description": "The country code of the agency.\n" }, "locality": { "type": "string", "description": "The locality of the agency.\n" }, "postalCode": { "type": "string", "description": "The postal code of the agency.\n" } } }, "journeyType": { "type": "string", "description": "The type of journey.\n" }, "actualFinalDestination": { "type": "string", "description": "The actual final destination of the travel.\n" } } }, "recipientInformation": { "type": "object", "properties": { "accountId": { "type": "string", "description": "The account ID of the recipient.\n" }, "createDate": { "type": "string", "description": "The date when the recipient's account was created.\n" }, "email": { "type": "string", "description": "The email address of the recipient\n" }, "countryCode": { "type": "string", "description": "The country code of the recipient.\n" }, "businessName": { "type": "string", "description": "The business name of the recipient.\n" }, "riskPopularityScore": { "type": "string", "description": "The risk popularity score of the recipient.\n" } } } }, "example": { "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "shipTo": { "country": "US", "lastName": "VDP", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS" }, "invoiceDescription": { "productDescription": "Description of the product invoice" } }, "merchantInformation": { "merchantDescriptor": { "name": "Merchant1", "email": "merchant1@gmail.com" } }, "processingInformation": { "processingInstruction": "NO_INSTRUCTION", "authorizationOptions": { "authType": "AUTHORIZE" }, "actionList": "AP_ORDER" }, "paymentInformation": { "paymentType": { "method": { "name": "payPal" }, "name": "ewallet" } } } }, "updateOrder_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 32, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order\n" }, "discountAmount": { "type": "string", "maxLength": 32, "description": "Discount amount for the transaction. \n" }, "shippingAmount": { "type": "string", "maxLength": 32, "description": "Aggregate shipping charges for the transactions.\n" }, "shippingDiscountAmount": { "type": "string", "maxLength": 32, "description": "Shipping discount amount for the transaction. \n" }, "taxAmount": { "type": "string", "maxLength": 32, "description": "Total tax amount. \n" }, "insuranceAmount": { "type": "string", "maxLength": 32, "description": "Amount being charged for the insurance fee. \n" }, "dutyAmount": { "type": "string", "maxLength": 32, "description": "Amount being charged as duty amount. \n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" }, "email": { "type": "string", "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "description": "Phone number associated with the shipping address.\n" } } }, "lineItems": { "type": "array", "maxItems": 10, "items": { "type": "object", "properties": { "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" } } } }, "invoiceDetails": { "type": "object", "properties": { "productDescription": { "type": "string", "description": "Brief description of item." } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "email": { "type": "string", "maxLength": 254, "description": "Email address of the merchant." } } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n - 'payPal'\n - 'venmo'\n" } } } } } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_UPDATE_ORDER`: Use this when Alternative Payment Update order service is requested.\n- `AP_EXTEND_ORDER`: Use this when Alternative Payment extend order service is requested.\n", "items": { "type": "string" } } } } }, "example": { "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "shipTo": { "country": "US", "lastName": "VDP", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS" }, "invoiceDescription": { "productDescription": "Description of the product invoice" } }, "merchantInformation": { "merchantDescriptor": { "name": "Merchant1", "email": "merchant1@gmail.com" } }, "paymentInformation": { "paymentType": { "method": { "name": "payPal" }, "name": "ewallet" } } } }, "retrieveOrDeletePaymentToken_request": { "type": "object", "properties": { "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services.\nPossible values are one or more of follows:\n\n - `TOKEN_RETRIEVE`: Use this when Alternative Payment token retrieval is requested.\n - `TOKEN_DELETE`: Use this when Alternative Payment token deletion is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, bofaPayByBank, payToPayByBank, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "tokenizedPaymentMethod": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 255, "description": "The PayPal-generated ID for the token.\n" } } } } } } }, "tokenize_request": { "type": "object", "properties": { "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the tokenize request.\n\nPossible Values:\n - `TOKEN_CREATE`: Use this when you want to create a token from the card/bank data in your tokenize request.\n", "items": { "type": "string" }, "example": [ "TOKEN_CREATE" ] }, "actionTokenTypes": { "type": "array", "description": "TMS tokens types you want to perform the action on.\n\nPossible Values:\n- customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress\n- tokenizedCard\n", "items": { "type": "string" }, "example": [ "customer", "paymentInstrument", "shippingAddress", "instrumentIdentifier" ] } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" }, "customer": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } }, "shippingAddress": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } }, "paymentInstrument": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "postTokenizedCard_request": { "type": "object", "required": [ "source" ], "properties": { "accountReferenceId": { "type": "string", "description": "An identifier provided by the issuer for the account.\n**Required when source is ISSUER.**\n" }, "consumerId": { "type": "string", "maxLength": 36, "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." }, "createPanInstrumentIdentifier": { "type": "boolean", "description": "Specifies whether the Instrument Identifier should be created (true) or not (false) with the PAN provided for the Network Token Provision request.\nPossible Values:\n- `true`: The InstrumentIdentifier should be created.\n- `false`: The InstrumentIdentifier should not be created.\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You\ncan also use this field for encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n**Required when source is ISSUER.**\n" } } }, "passcode": { "type": "object", "description": "Passcode by issuer for ID&V.\n", "properties": { "value": { "type": "string", "description": "OTP generated at issuer.\n" } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n", "example": "John" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n", "example": "Doe" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n", "example": "1 Market St" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n", "example": "San Francisco" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n", "example": "CA" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n", "example": "94105" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n", "example": "US" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n", "example": "test@cybs.com" } } } } }, "postTokenizedCardDelete_request": { "type": "object", "title": "TmsTokenizedCardDeleteRequest", "properties": { "reason": { "type": "object", "description": "Reason for deleting the network token.\n", "properties": { "code": { "type": "string", "description": "Reason code for deleting the network token.\n\nPossible Values:\n - FRAUD: Network token is being deleted due to fraud concerns.\n - PAYMENT_METHOD_REMOVED: Network Token is being deleted because the payment method was removed.\n\nDefault: PAYMENT_METHOD_REMOVED\n" }, "description": { "type": "string", "maxLength": 255, "description": "Additional description providing context for the deletion reason.\n", "example": "Customer requested removal of network token." } } } } }, "postTokenPaymentCredentialsV3_request": { "type": "object", "properties": { "paymentCredentialType": { "type": "string", "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n", "example": "CRYPTOGRAM" }, "transactionType": { "type": "string", "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n", "example": "ECOM" }, "clientCorrelationId": { "type": "string", "maxLength": 36, "pattern": "[A-Za-z0-9]+", "description": "Used to correlate authentication and payment credential requests.\n", "example": "ad30cf0c-b825-42ca-806c-bf06094b0b15" }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "description": "Total amount for the order", "example": "102.21" }, "currency": { "type": "string", "description": "Currency used for the order. Use an ISO 4217 numeric format currency code.\n", "example": "978" } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n", "example": "John" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n", "example": "Doe" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n", "example": "1 Market St" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n", "example": "San Francisco" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n", "example": "CA" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n", "example": "94105" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n", "example": "US" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n", "example": "test@cybs.com" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Merchant's name", "example": "TWVyY2hhbnQgVlphRjVYQmo" }, "url": { "type": "string", "description": "Address of company's website provided by merchant", "example": "aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t" } } } } }, "deviceInformation": { "type": "object", "properties": { "platformType": { "type": "string", "description": "Platform type.\n\nPossible Values:\n - iOS: iOS app\n - ANDROID: Android app\n - WINDOWS: Windows app\n - WEB: Browser-based app\n", "example": "WEB" }, "ipAddress": { "type": "string", "maxLength": 45, "pattern": "[0-9A-Fa-f.]", "description": "IP address of the customer.\n", "example": "127.0.0.1" }, "httpAcceptContent": { "type": "string", "pattern": "[A-Za-z0-9]+", "maxLength": 2048, "description": "The exact content of the HTTP accept header.\n", "example": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" }, "httpBrowserLanguage": { "type": "string", "pattern": "[A-Za-z0-9]+", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n", "example": "en-US" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n", "example": false }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n", "example": true }, "httpBrowserColorDepth": { "type": "string", "pattern": "[0-9]+", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n", "example": "24" }, "httpBrowserScreenHeight": { "type": "string", "pattern": "[0-9]+", "maxLength": 6, "description": "Total height of the Cardholder's screen in pixels.\n", "example": "1080" }, "httpBrowserScreenWidth": { "type": "string", "pattern": "[0-9]+", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels.\n", "example": "1920" }, "httpBrowserTimeDifference": { "type": "string", "pattern": "[0-9]+", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes.\n", "example": "420" }, "userAgentBrowserValue": { "type": "string", "pattern": "[A-Za-z0-9]+", "maxLength": 2048, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n", "example": "Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/134.0.0.0Safari/537.36Edg/134.0.0.0" } } }, "authenticatedIdentities": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "pattern": "[A-Za-z0-9=-_]+", "maxLength": 50, "description": "The id from the authenticated identity.\n Base64URL encoded string (RFC4648). \n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n", "example": "88662a11a11fa88627e217ab9cb00001" }, "provider": { "type": "string", "description": "The provider of the authenticated identity.\n\nPossible Values:\n - VISA_PAYMENT_PASSKEY\n - CLIENT_DEVICE_CERT_JWS\n", "example": "VISA_PAYMENT_PASSKEY" }, "data": { "type": "string", "pattern": "[A-Za-z0-9=-_]+", "maxLength": 17000, "description": "The data from the authenticated identity.\nFor Passkey this could be the FIDO Attestation.\nFor Classic Cloud Token Framework (CTF) this could be a JWS containing device authentication information signed by a devices private key.\nBase64URL encoded string (RFC4648).\nThe encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n", "example": "dj0xJmM9ezAwMX06QUFSTk" }, "relyingPartyId": { "type": "string", "pattern": "[A-Za-z0-9=-_]+", "maxLength": 2000, "description": "The id of the Relying Party.\n Base64URL encoded string (RFC4648).\n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n", "example": "dnRzLmF1dGgudmlzYS5jb20=" }, "userAuthenticationMethod": { "type": "string", "description": "The method used to authenticate the user.\n\nPossible Values:\n - USERNAME_PASSWORD\n - PASSCODE_PASSWORD\n - PASSCODE\n - PASSWORD\n - PATTERN\n - BIOMETRIC_FINGERPRINT\n - BIOMETRIC_FACIAL\n - BIOMETRIC_IRIS\n - BIOMETRIC_VOICE\n - BIOMETRIC_BEHAVIORAL\n - DEVICE_UNLOCKED_METHOD_UNKNOWN\n - OTP_SMS\n - OTP_EMAIL\n - OTP_SMS_KNOWLEDGE\n - KNOWLEDGE_BASED_AUTHENTICATION\n - USER_UNVERIFIED\n - BIOMETRIC\n", "example": "BIOMETRIC_FINGERPRINT" } } } } } }, "postTokenPaymentCredentials_request": { "type": "object", "properties": { "paymentCredentialType": { "type": "string", "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n", "example": "CRYPTOGRAM" }, "transactionType": { "type": "string", "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n", "example": "ECOM" }, "clientCorrelationId": { "type": "string", "maxLength": 36, "pattern": "[A-Za-z0-9]+", "description": "Used to correlate authentication and payment credential requests.\n", "example": "ad30cf0c-b825-42ca-806c-bf06094b0b15" }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "description": "Total amount for the order", "example": "102.21" }, "currency": { "type": "string", "description": "Currency used for the order. Use an ISO 4217 numeric format currency code.\n", "example": "978" } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n", "example": "John" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n", "example": "Doe" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n", "example": "1 Market St" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n", "example": "San Francisco" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n", "example": "CA" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n", "example": "94105" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n", "example": "US" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n", "example": "test@cybs.com" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Merchant's name", "example": "TWVyY2hhbnQgVlphRjVYQmo" }, "url": { "type": "string", "description": "Address of company's website provided by merchant", "example": "aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t" } } } } }, "deviceInformation": { "type": "object", "properties": { "platformType": { "type": "string", "description": "Platform type.\n\nPossible Values:\n - iOS: iOS app\n - ANDROID: Android app\n - WINDOWS: Windows app\n - WEB: Browser-based app\n", "example": "WEB" }, "ipAddress": { "type": "string", "maxLength": 45, "pattern": "[0-9A-Fa-f.]", "description": "IP address of the customer.\n", "example": "127.0.0.1" }, "httpAcceptContent": { "type": "string", "pattern": "[A-Za-z0-9]+", "maxLength": 2048, "description": "The exact content of the HTTP accept header.\n", "example": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" }, "httpBrowserLanguage": { "type": "string", "pattern": "[A-Za-z0-9]+", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n", "example": "en-US" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n", "example": false }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n", "example": true }, "httpBrowserColorDepth": { "type": "string", "pattern": "[0-9]+", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n", "example": "24" }, "httpBrowserScreenHeight": { "type": "string", "pattern": "[0-9]+", "maxLength": 6, "description": "Total height of the Cardholder's screen in pixels.\n", "example": "1080" }, "httpBrowserScreenWidth": { "type": "string", "pattern": "[0-9]+", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels.\n", "example": "1920" }, "httpBrowserTimeDifference": { "type": "string", "pattern": "[0-9]+", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes.\n", "example": "420" }, "userAgentBrowserValue": { "type": "string", "pattern": "[A-Za-z0-9]+", "maxLength": 2048, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n", "example": "Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/134.0.0.0Safari/537.36Edg/134.0.0.0" } } }, "authenticatedIdentities": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "pattern": "[A-Za-z0-9=-_]+", "maxLength": 50, "description": "The id from the authenticated identity.\n Base64URL encoded string (RFC4648). \n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n", "example": "88662a11a11fa88627e217ab9cb00001" }, "provider": { "type": "string", "description": "The provider of the authenticated identity.\n\nPossible Values:\n - VISA_PAYMENT_PASSKEY\n - CLIENT_DEVICE_CERT_JWS\n", "example": "VISA_PAYMENT_PASSKEY" }, "data": { "type": "string", "pattern": "[A-Za-z0-9=-_]+", "maxLength": 17000, "description": "The data from the authenticated identity.\nFor Passkey this could be the FIDO Attestation.\nFor Classic Cloud Token Framework (CTF) this could be a JWS containing device authentication information signed by a devices private key.\nBase64URL encoded string (RFC4648).\nThe encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n", "example": "dj0xJmM9ezAwMX06QUFSTk" }, "relyingPartyId": { "type": "string", "pattern": "[A-Za-z0-9=-_]+", "maxLength": 2000, "description": "The id of the Relying Party.\n Base64URL encoded string (RFC4648).\n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n", "example": "dnRzLmF1dGgudmlzYS5jb20=" }, "userAuthenticationMethod": { "type": "string", "description": "The method used to authenticate the user.\n\nPossible Values:\n - USERNAME_PASSWORD\n - PASSCODE_PASSWORD\n - PASSCODE\n - PASSWORD\n - PATTERN\n - BIOMETRIC_FINGERPRINT\n - BIOMETRIC_FACIAL\n - BIOMETRIC_IRIS\n - BIOMETRIC_VOICE\n - BIOMETRIC_BEHAVIORAL\n - DEVICE_UNLOCKED_METHOD_UNKNOWN\n - OTP_SMS\n - OTP_EMAIL\n - OTP_SMS_KNOWLEDGE\n - KNOWLEDGE_BASED_AUTHENTICATION\n - USER_UNVERIFIED\n - BIOMETRIC\n", "example": "BIOMETRIC_FINGERPRINT" } } } } } }, "postIssuerLifeCycleSimulation_request": { "type": "object", "description": "Represents the Issuer LifeCycle Event Simulation for a Tokenized Card.\n", "properties": { "state": { "type": "string", "description": "The new state of the Tokenized Card.\nPossible Values:\n- ACTIVE\n- SUSPENDED\n- DELETED\n" }, "card": { "type": "object", "properties": { "last4": { "type": "string", "maxLength": 4, "description": "The new last 4 digits of the card number associated to the Tokenized Card.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "The new two-digit month of the card associated to the Tokenized Card.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "The new four-digit year of the card associated to the Tokenized Card.\nFormat: `YYYY`.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "type": "object", "properties": { "combinedAsset": { "type": "object", "properties": { "update": { "type": "string", "description": "Set to \"true\" to simulate an update to the combined card art asset associated with the Tokenized Card.\n" } } } } } } } } }, "postInstrumentIdentifier_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } }, "patchInstrumentIdentifier_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } }, "postInstrumentIdentifierEnrollment_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } }, "postPaymentInstrument_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "patchPaymentInstrument_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "postCustomer_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } }, "patchCustomer_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } }, "postCustomerShippingAddress_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } }, "patchCustomersShippingAddress_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } }, "postCustomerPaymentInstrument_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "patchCustomersPaymentInstrument_request": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "title": "TmsMerchantInformation", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } }, "tokenized-cards": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Tokenized Card if network token is present.\n", "example": "tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- CONTACTLESS_TAP\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "pointOfSaleInformation": { "type": "object", "required": [ "emvTags" ], "properties": { "emvTags": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": [ "tag", "value", "source" ], "properties": { "tag": { "type": "string", "minLength": 1, "maxLength": 10, "pattern": "^[0-9A-Fa-f]{1,10}$", "description": "EMV tag, 1-10 hex characters." }, "value": { "type": "string", "minLength": 1, "maxLength": 64, "description": "EMV tag value, 1-64 characters." }, "source": { "type": "string", "description": "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n" } }, "example": { "tag": "5A", "value": "4111111111111111", "source": "CARD" } } } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "title": "tmsv2TokenizedCard", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "description": "The Id of the Tokenized Card.\n" }, "object": { "type": "string", "readOnly": true, "example": "tokenizedCard", "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, "source": { "type": "string", "description": "Source of the card details.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique id to identify this PAN/ enrollment.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique ID for netwrok token.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, "expirationMonth": { "type": "string", "readOnly": true, "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Indicates the reason why the network token provision request failed.\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Value generated by the card association to be used alongside the network token for processing a payment.\nThis field is returned by default for Visa and Mastercard network tokens.\nIt can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "securityCode": { "type": "string", "readOnly": true, "description": "Dynamic number generated by the card association to be used alongside the network token for processing a payment.\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default.\n- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.\nIt can also be explicitly requested using paymentCredentialType: SECURITY_CODE.\n", "example": "4523" }, "eci": { "type": "string", "readOnly": true, "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, "requestorId": { "type": "string", "readOnly": true, "maxLength": 11, "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, "paymentAccountReference": { "type": "string", "readOnly": true, "description": "Payment account reference.\n" }, "applicationTransactionCounter": { "type": "string", "readOnly": true, "description": "A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.\nThis field is only returned for Visa network tokens.\n" }, "card": { "type": "object", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The latest customer's payment card number associated to the network token.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n- 002: mastercard\n- 003: american express\n- 007: jcb\n" }, "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix.\n" }, "issueDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card issuance date. XML date format: YYYY-MM-DD.", "example": "2030-12-15" }, "activationDate": { "type": "string", "readOnly": true, "format": "date", "description": "Card activation date. XML date format: YYYY-MM-DD", "example": "2030-12-20" }, "expirationPrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the expiration date is printed on the card.", "example": true }, "securityCodePrinted": { "type": "boolean", "readOnly": true, "description": "Indicates if the Card Verification Number is printed on the card.", "example": true }, "termsAndConditions": { "type": "object", "readOnly": true, "properties": { "url": { "type": "string", "readOnly": true, "description": "Issuer Card Terms and Conditions url." } } } } }, "verificationResults": { "type": "object", "description": "Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.\nSupported only for VTS tokens.\n", "readOnly": true, "properties": { "securityCode": { "type": "string", "readOnly": true, "description": "Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, CVV2 data matched.\n- NO_MATCH: Verified, CVV2 data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" }, "address": { "type": "string", "readOnly": true, "description": "Indicates whether the billing address was verified by the issuer during the provisioning request.\nSupported only for VTS tokens.\n\nPossible Values:\n- MATCH: Verified, address and postal code data matched.\n- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.\n- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.\n- NO_MATCH: Verified, address and postal code data did not match.\n- NOT_SUPPORTED: Verification not supported by card issuer.\n- SKIPPED: Verification was not performed.\n" } } }, "metadata": { "type": "object", "properties": { "cardArt": { "title": "TmsCardArt", "description": "Card art associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "foregroundColor": { "description": "Card foreground color.\n", "type": "string", "readOnly": true }, "backgroundColor": { "description": "Card background color.\n", "type": "string", "readOnly": true }, "labelColor": { "description": "Card label color.\n", "type": "string", "readOnly": true }, "combinedAsset": { "description": "Combined card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" } } } } } } }, "brandLogoAsset": { "description": "Brand logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" } } } } } } }, "issuerLogoAsset": { "description": "Issuer logo card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" } } } } } } }, "iconAsset": { "description": "Icon card art asset associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "Unique identifier for the asset\n" }, "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } } } } } } } }, "issuer": { "description": "Issuer associated with the tokenized card.\n", "type": "object", "readOnly": true, "properties": { "name": { "description": "Issuer name.\n", "type": "string", "readOnly": true }, "shortDescription": { "description": "Short description of the card.\n", "type": "string", "readOnly": true }, "longDescription": { "description": "Long description of the card.\n", "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true, "description": "Issuer customer service email address.\n" }, "phoneNumber": { "type": "string", "readOnly": true, "description": "Issuer customer service phone number.\n" }, "url": { "type": "string", "readOnly": true, "description": "Issuer customer service url.\n" }, "privacyPolicyUrl": { "type": "string", "readOnly": true, "description": "Issuer privacy policy url.\n" }, "capabilities": { "type": "object", "readOnly": true, "description": "Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.\nSupported only for VTS Tokens.\n", "properties": { "deviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports device binding.\n" }, "cardholderVerificationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer participates in step-up authentication that requires cardholder verification.\n" }, "trustedBeneficiaryEnrollmentSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports trusted beneficiary enrollment.\ne.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.\n" }, "delegatedAuthenticationSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports delegated authentication.\ne.g allowing approved thrird parties to perform authentication on behalf of the issuer.\n" }, "oboDeviceBindingSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports on-behalf-of device binding.\ne.g allowing approved third parties to perform device binding on behalf of the issuer.\n" }, "tokenLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving token lifecycle management notifications.\ne.g receiving updates on changes to the token's status or attributes.\n" }, "fpanLcmNotificationsSupported": { "type": "boolean", "readOnly": true, "description": "Indicates if the issuer supports receiving PAN lifecycle management notifications.\ne.g receiving updates on changes to the underlying card's status or attributes.\n" } } }, "bankApplications": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "Bank application name.\n" }, "address": { "type": "string", "readOnly": true, "description": "Bank application address. (e.g. com.mybank.app)\n" } } } } } }, "creator": { "type": "string", "readOnly": true, "description": "The creator of the Tokenized Card." } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } }, "_embedded": { "type": "object", "readOnly": true, "properties": { "binLookup": { "title": "TmsBinLookup", "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", "readOnly": true, "type": "object", "properties": { "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "maxLength": { "type": "string", "maxLength": 2, "description": "This field contains the max length of the card.\n" }, "credentialType": { "type": "string", "maxLength": 5, "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, "brands": { "description": "Array of brands", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\nPossible values from BIN Lookup Service (based on availability and enablement):\n- `000`: Unsupported Card Type\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `007`: JCB\n- `036`: Cartes Bancaire\n- `042`: Maestro\n- `054`: Elo\n- `058`: Carnet\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `064`: Prompt Card\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `081`: Jaywan\n- `082`: TPN\n\nGlossary of possible values in the payments ecosystem:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n- `082`: TPN\n" }, "brandName": { "type": "string", "maxLength": 20, "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n" } } } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n" }, "corporatePurchase": { "type": "boolean", "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, "healthCard": { "type": "boolean", "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n" }, "sharedBIN": { "type": "boolean", "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n" }, "posDomesticOnly": { "type": "boolean", "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n" }, "gamblingAllowed": { "type": "boolean", "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel2": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "commercialCardLevel3": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n" }, "exemptBIN": { "type": "boolean", "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n" }, "accountLevelManagement": { "type": "boolean", "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n" }, "onlineGamblingBlock": { "type": "boolean", "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "autoSubstantiation": { "type": "boolean", "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n" }, "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" }, "productId": { "type": "string", "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" }, "productIdSubtype": { "type": "string", "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" }, "threeDSSupport": { "type": "boolean", "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" }, "siEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" }, "emiEligible": { "type": "boolean", "description": "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" }, "fleetCard": { "type": "boolean", "description": "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n" }, "atmEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n" }, "posEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n" }, "ecomEnabled": { "type": "boolean", "description": "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n" } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.\n" }, "accountPrefix": { "type": "string", "maxLength": 8, "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } } } } } } } } } } } }, "generateCaptureContext_request": { "type": "object", "description": "This is a server-to-server API request to generate the capture context that can be used to initiate an instance of Microform on an acceptance page. The capture context is a digitally signed JWT that provides authentication, one-time keys, and the target origin to the Microform Integration application. ", "properties": { "clientVersion": { "type": "string", "description": "Specify the version of Microform that you want to use.\n" }, "targetOrigins": { "type": "array", "items": { "type": "string", "example": "https://www.test.com" }, "description": "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Microform is defined by the scheme (protocol), hostname (domain) and port number (if used). \n\nYou must use https://hostname (unless you use http://localhost)\nWildcards are NOT supported. Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n - https://example.com\n - https://subdomain.example.com\n - https://example.com:8080

\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n targetOrigins: [\n \"https://example.com\",\n \"https://basket.example.com\",\n \"https://ecom.example.com\"\n ]

\n\nYou can supply up to nine origins within the targetOrigins field for nested iframes.\nIf the list of origins exceeds five ensure that you:\n - Compare the list of origins in the v2/sessions targetOrigins field against the location.ancestorOrigins of the browser. \n - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Microform from loading and display a client-side error message.\n" }, "allowedCardNetworks": { "type": "array", "items": { "type": "string" }, "description": "The list of card networks you want to use for this Microform transaction.\n\nMicroform currently supports the following card networks:\n - VISA\n - MASTERCARD\n - AMEX\n - CARNET\n - CARTESBANCAIRES\n - CUP\n - DINERSCLUB\n - DISCOVER\n - EFTPOS\n - ELO\n - JAYWAN\n - JCB\n - JCREW\n - KCP\n - MADA\n - MAESTRO\n - MEEZA\n - PAYPAK\n - UATP\n\n**Important:** \n - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request.\n - When integrating Microform (ACH/eCheck) the allowedCardNetworks field is not required in the capture context request.\n - When integrating both Microform (Card) and Microform (ACH/eCheck) at least one card network should be specified in the allowedCardNetworks field in the capture context request.\n" }, "allowedPaymentTypes": { "type": "array", "items": { "type": "string" }, "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Microform:\n- CARD\n- CHECK

\n" }, "transientTokenResponseOptions": { "type": "object", "properties": { "includeCardPrefix": { "type": "boolean", "description": "Use the transientTokenResponseOptions.includeCardPrefix field to choose your preferred card number prefix length: 6-digit, 8-digit, or no card number prefix.\n\nPossible values:\n- True\n- False

\n\nTo select the type of card number prefix:\n- No field included: A 6-digit prefix is returned (default)\n- True: An 8-digit prefix is returned\n- False: No prefix is returned

\n\nThe following conditions apply:\n- 8-digit card number prefixes only apply to Discover, JCB, Mastercard, UnionPay, and Visa brands with 16-digit card numbers or more.\n- Any card with less than 16-digit numbers will return a 6-digit prefix even when the transientTokenResponseOptions.includeCardPrefix field is set to true.\n- Any card brand other than Discover, JCB, Mastercard, UnionPay, or Visa will return a 6-digit prefix even when the transientTokenResponseOptions.includeCardPrefix field is set to true.\n- If any card brand is co-branded with Discover, JCB, Mastercard, UnionPay, or Visa, an 8-digit prefix will be returned if the transientTokenResponseOptions.includeCardPrefix field is set to true.

\n\n**Important:** \nIf your application does NOT require a card number prefix for routing or identification purposes, set the transientTokenResponseOptions.includeCardPrefix field to False. This will minimize your personal data exposure.\n" } } } } }, "generateFlexAPICaptureContext_request": { "type": "object", "properties": { "fields": { "type": "object", "properties": { "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "currency": { "type": "object", "properties": { "required": { "type": "boolean" } } } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "address2": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "administrativeArea": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "buildingNumber": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "country": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "district": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "locality": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "postalCode": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "email": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "firstName": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "lastName": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "phoneNumber": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "company": { "type": "object", "properties": { "required": { "type": "boolean" } } } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "address2": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "administrativeArea": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "buildingNumber": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "country": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "district": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "locality": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "postalCode": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "firstName": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "lastName": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "company": { "type": "object", "properties": { "required": { "type": "boolean" } } } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "type": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "securityCode": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "expirationMonth": { "type": "object", "properties": { "required": { "type": "boolean" } } }, "expirationYear": { "type": "object", "properties": { "required": { "type": "boolean" } } } } } } } } } } }, "createBundledDecisionManagerCase_request": { "type": "object", "required": [ "orderInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "processorInformation": { "type": "object", "description": "Contains information related to the payment processor.", "properties": { "avs": { "type": "object", "description": "Address Verification Service", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Value returned for address verification from the Payments Authorization response." } } }, "cardVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 1, "description": "CVN result code.\n" } } } } }, "processingInformation": { "type": "object", "description": "Decides whether to call Payer Authentication or Watchlist Screening service along with DM or not.", "properties": { "actionList": { "type": "array", "description": "- Use `CONSUMER_AUTHENTICATION` to use Payer Authentication along with Decision Manager. For any other value, only Decision Manager will run.\n- Use `WATCHLIST_SCREENING` when you want to call Watchlist Screening service.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "description": "Contains the payment data for this transaction.", "properties": { "card": { "type": "object", "description": "Use this for a non-tokenized payment card.", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "bin": { "type": "string", "maxLength": 6, "description": "description: The BIN is the first six digits of the card's Primary Account Number (PAN).\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" } } }, "tokenizedCard": { "type": "object", "description": "Use this object to submit a payment network token instead of card-based values.", "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 30, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" }, "code": { "type": "string", "maxLength": 50, "description": "Bank code of the consumer's account\n" }, "accountAlias": { "type": "object", "properties": { "id": { "type": "string", "description": "Alias value (phone, email, account number, business number, or organization ID)", "maxLength": 255 }, "type": { "type": "string", "description": "Indicates the kind of alias (phone, email, account number, business number, or account ID) \nPossible values:\n- phone\n- email\n- accountNumber\n- businessNumber\n- accountID" } } } } }, "method": { "type": "string", "maxLength": 10, "description": "Method of payment used for the order. This field can contain one of the following values:\n - `consumer` (default): Customer credit card\n - `corporate`: Corporate credit card\n - `debit`: Debit card, such as a Maestro (UK Domestic) card\n - `cod`: Collect on delivery\n - `check`: Electronic check\n - `p2p`: Person-to-person payment\n - `private1`: Private label credit card\n - `other`: Other payment method\n" } } }, "orderInformation": { "type": "object", "description": "Contains detailed order-level information.", "properties": { "amountDetails": { "type": "object", "description": "Contains `currency` and `totalAmount` for this order.", "required": [ "currency" ], "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. \nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [REST API Fields Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.html)\n\n#### DCC for First Data\nNot used.\nFor details, see [REST API Field Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.html)\n" } } }, "preOrder": { "type": "string", "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" }, "preOrderDate": { "type": "string", "maxLength": 10, "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" }, "cutoffDateTime": { "type": "string", "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.departureTime if both are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "reordered": { "type": "boolean", "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" }, "shippingDetails": { "type": "object", "description": "Contains shipping information not related to address.", "properties": { "giftWrap": { "type": "boolean", "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" }, "shippingMethod": { "type": "string", "maxLength": 32, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n\nKlarna Advantage Plus additional values:\n - `TO_DOOR`: Delivery to door\n - `TO_CURB`: Delivery to curb\n - `TO_MAILBOX`: Delivery to mailbox\n - `PICKUP_BOX`: Pickup from box\n - `PICKUP_POINT`: Pickup from point\n - `PICKUP_STORE`: Pickup from store\n - `PICKUP_WAREHOUSE`: Pickup from warehouse\n - `DIGITAL_EMAIL`: Digital delivery via email\n - `DIGITAL_DOWNLOAD`: Digital download\n - `DIGITAL_OTHER`: Other digital delivery\n - `PHYSICAL_OTHER`: Other physical delivery\n" } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "destinationTypes": { "type": "string", "maxLength": 25, "description": "Shipping destination of item. Example: Commercial, Residential, Store\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "destinationCode": { "type": "integer", "maxLength": 2, "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" }, "email": { "type": "string", "maxLength": 255, "description": "Email of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" } } }, "returnsAccepted": { "type": "boolean", "description": "Boolean that indicates whether returns are accepted for this order.\nThis field can contain one of the following values:\n- true: Returns are accepted for this order.\n- false: Returns are not accepted for this order.\n" }, "lineItems": { "type": "array", "description": "This array contains detailed information about individual products in the order.", "items": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productRisk": { "type": "string", "maxLength": 6, "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "gift": { "type": "boolean", "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" }, "distributorProductSku": { "type": "string", "maxLength": 15, "description": "Product's identifier code. This field is inserted into the outgoing message without being parsed or formatted.\nThis field is included as Distributor product SKU (Offer) in the list of API fields with which you can create\ncustom rules.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } } } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" } } }, "totalOffersCount": { "type": "string", "maxLength": 2, "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" } } }, "buyerInformation": { "type": "object", "description": "Contains information about the buyer.", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "username": { "type": "string", "maxLength": 255, "description": "Specifies the customer account user name." }, "hashedPassword": { "type": "string", "maxLength": 100, "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" }, "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "cookiesAccepted": { "type": "string", "description": "Whether the customer's browser accepts cookies. This field can contain one of the following values:\n- `yes`: The customer's browser accepts cookies.\n- `no`: The customer's browser does not accept cookies.\n" }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "fingerprintSessionId": { "type": "string", "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n" }, "useRawFingerprintSessionId": { "type": "boolean", "description": "Boolean that indicates whether request contains the device fingerprint information.\nValues:\n- `true`: Use raw fingerprintSessionId when looking up device details.\n- `false` (default): Use merchant id + fingerprintSessionId as the session id for Device detail collection.\n" }, "httpBrowserEmail": { "type": "string", "description": "Email address set in the customer's browser, which may differ from customer email.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" }, "rawData": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" }, "provider": { "type": "string", "maxLength": 32, "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" } } } }, "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "httpAcceptContent": { "type": "string", "maxLength": 256, "description": "The exact content of the HTTP accept header.\n" }, "httpBrowserLanguage": { "type": "string", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" }, "httpBrowserColorDepth": { "type": "string", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" }, "httpBrowserScreenHeight": { "type": "string", "maxLength": 6, "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" }, "httpBrowserScreenWidth": { "type": "string", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" }, "httpBrowserTimeDifference": { "type": "string", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "riskInformation": { "type": "object", "properties": { "profile": { "type": "object", "description": "Identifies a risk profile.", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n" } } }, "eventType": { "type": "string", "maxLength": 255, "description": "Specifies one of the following types of events:\n- login\n- account_creation\n- account_update\nFor regular payment transactions, do not send this field.\n" }, "buyerHistory": { "type": "object", "properties": { "customerAccount": { "type": "object", "properties": { "lastChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, "creationHistory": { "type": "string", "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" }, "modificationHistory": { "type": "string", "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" }, "passwordHistory": { "type": "string", "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" }, "createDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" }, "passwordChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" } } }, "accountHistory": { "type": "object", "properties": { "firstUseOfShippingAddress": { "type": "boolean", "description": "Applicable when this is not a guest account.\n" }, "shippingAddressUsageDate": { "type": "string", "maxLength": 10, "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" } } }, "accountPurchases": { "type": "integer", "maxLength": 4, "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" }, "addCardAttempts": { "type": "integer", "maxLength": 3, "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "priorSuspiciousActivity": { "type": "boolean", "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" }, "paymentAccountHistory": { "type": "string", "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" }, "paymentAccountDate": { "type": "integer", "maxLength": 8, "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" }, "transactionCountDay": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "transactionCountYear": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" } } }, "auxiliaryData": { "type": "array", "items": { "type": "object", "description": "Contains auxiliary key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to send additional data to Risk services.\n**Warning** Auxiliary fields are not intended to and MUST NOT\nbe used to capture personally identifying information.\nAccordingly, merchants are prohibited from capturing,\nobtaining, and/or transmitting any personally identifying\ninformation in or via the auxiliary data fields. Personally\nidentifying information includes, but is not limited to,\naddress, credit card number, social security number,\ndriver's license number, state-issued identification\nnumber, passport number, and card verification numbers\n(CVV, CVC2, CVV2, CID, CVN). In the event CyberSource\ndiscovers that a merchant is capturing and/or transmitting\npersonally identifying information via the auxiliary data\nfields, whether or not intentionally, CyberSource WILL\nimmediately suspend the merchant's account, which will\nresult in a rejection of any and all transaction requests\nsubmitted by the merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } } } }, "travelInformation": { "type": "object", "properties": { "actualFinalDestination": { "type": "string", "maxLength": 3, "description": "IATA Code for the actual final destination that the customer intends to travel to.\nIt should be a destination on the completeRoute.\n" }, "completeRoute": { "type": "string", "maxLength": 255, "description": "Concatenation of individual travel legs in the format ORIG1-DEST1[:ORIG2-DEST2...:ORIGn-DESTn], for\nexample, SFO-JFK:JFK-LHR:LHR-CDG. For airport codes, see the IATA Airline and Airport Code Search.\nNote In your request, send either the complete route or the individual legs (_leg#_orig and _leg#_dest). If you\nsend all the fields, the value of _complete_route takes precedence over that of the _leg# fields.\n" }, "departureTime": { "type": "string", "maxLength": 25, "description": "Departure date and time of the first leg of the trip. Use one of the following formats:\n - yyyy-MM-dd HH:mm z\n - yyyy-MM-dd hh:mm a z\n - yyyy-MM-dd hh:mma z\n HH = hour in 24-hour format\n hh = hour in 12-hour format\n a = am or pm (case insensitive)\n z = time zone of the departing flight, for example: If the\n airline is based in city A, but the flight departs from city\n B, z is the time zone of city B at the time of departure.\nImportant For travel information, use GMT instead of UTC, or use the local time zone.\nExamples\n2011-03-20 11:30 PM PDT\n2011-03-20 11:30pm GMT\n2011-03-20 11:30pm GMT-05:00\nEastern Standard Time: GMT-05:00 or EST\nNote When specifying an offset from GMT, the format must be exactly as specified in the example. Insert no\nspaces between the time zone and the offset.\n" }, "journeyType": { "type": "string", "maxLength": 32, "description": "Type of travel, for example one way or round trip." }, "legs": { "type": "array", "items": { "type": "object", "properties": { "origination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the origin of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco.\nDo not use the colon (:) or the dash (-). For airport codes, see the IATA Airline and Airport Code Search.\nThe leg number can be a positive integer from 0 to N.\nFor example:\n`travelInformation.legs.0.origination=SFO`\n`travelInformation.legs.1.origination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_orig` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "destination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the destination of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the\ncolon (:) or the dash (-). For airport codes, see [IATA Airline and Airport Code Search](https://www.iata.org/publications/Pages/code-search.aspx). The leg number can be a\npositive integer from 0 to N.\nFor example:\n\n`travelInformation.legs.0.destination=SFO`\n`travelInformation.legs.1.destination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_dest` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "carrierCode": { "type": "string", "maxLength": 2, "description": "International Air Transport Association (IATA) code for the carrier for this leg of the trip.\nRequired for each leg.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "departureDate": { "type": "string", "description": "Departure date for the first leg of the trip. Format: YYYYMMDD.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nIf you do not include this field in your request, CyberSource uses a default value of 1.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "passengers": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" } } } } } }, "merchantDefinedInformation": { "type": "array", "items": { "type": "object", "description": "Contains merchant-defined key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to store information. The value\nappears in the Case Management Details window in the\nBusiness Center. The first four fields are the same fields\nthat are used by the Secure Data services. See request\ncode examples.\n**Warning** Merchant-defined data fields are not intended\nto and must not be used to capture personally identifying\ninformation. Accordingly, merchants are prohibited from\ncapturing, obtaining, and/or transmitting any personally\nidentifying information in or via the merchant-defined data\nfields. Personally identifying information includes, but is\nnot limited to, address, credit card number, social security\nnumber, driver's license number, state-issued\nidentification number, passport number, and card\nverification numbers (CVV, CVC2, CVV2, CID, CVN). In\nthe event CyberSource discovers that a merchant is\ncapturing and/or transmitting personally identifying\ninformation via the merchant-defined data fields, whether\nor not intentionally, CyberSource will immediately\nsuspend the merchant's account, which will result in a\nrejection of any and all transaction requests submitted by\nthe merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" } } }, "merchantName": { "type": "string", "maxLength": 25, "description": "Your company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" } } }, "acquirerInformation": { "type": "object", "properties": { "acquirerBin": { "type": "string", "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" }, "password": { "type": "string", "maxLength": 8, "description": "Registered password for the Visa directory server.\n" }, "merchantId": { "type": "string", "maxLength": 15, "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" } } }, "recurringPaymentInformation": { "type": "object", "description": "This object contains recurring payment information.", "required": [ "frequency", "endDate" ], "properties": { "endDate": { "type": "string", "maxLength": 10, "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" }, "frequency": { "type": "integer", "maxLength": 4, "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" }, "numberOfPayments": { "type": "integer", "maxLength": 3, "description": "Total number of payments for the duration of the recurring subscription.\n" }, "originalPurchaseDate": { "type": "string", "maxLength": 17, "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" }, "sequenceNumber": { "type": "integer", "maxLength": 3, "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" }, "type": { "type": "string", "maxLength": 1, "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" }, "occurrence": { "type": "string", "maxLength": 2, "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" }, "validationIndicator": { "type": "string", "maxLength": 1, "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" }, "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" }, "maximumAmount": { "type": "string", "maxLength": 12, "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" }, "referenceNumber": { "type": "string", "maxLength": 35, "description": "This will contain a unique reference number for the recurring payment transaction.\n" } } }, "consumerAuthenticationInformation": { "type": "object", "required": [ "deviceChannel" ], "properties": { "strongAuthentication": { "type": "object", "properties": { "authenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" } } }, "acsWindowSize": { "type": "string", "maxLength": 2, "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" }, "alternateAuthenticationData": { "type": "string", "maxLength": 2048, "description": "Data that documents and supports a specific authentication process.\n" }, "alternateAuthenticationDate": { "type": "string", "maxLength": 14, "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" }, "alternateAuthenticationMethod": { "type": "string", "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" }, "authenticationDate": { "type": "string", "maxLength": 14, "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "transactionFlowIndicator": { "type": "integer", "maxLength": 2, "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" }, "challengeCode": { "type": "string", "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" }, "challengeStatus": { "type": "string", "maxLength": 2, "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" }, "customerCardAlias": { "type": "string", "maxLength": 128, "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "decoupledAuthenticationMaxTime": { "type": "string", "maxLength": 5, "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" }, "defaultCard": { "type": "boolean", "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" }, "deviceChannel": { "type": "string", "maxLength": 10, "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" }, "installmentTotalCount": { "type": "integer", "maxLength": 4, "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" }, "merchantFraudRate": { "type": "string", "maxLength": 2, "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" }, "marketingOptIn": { "type": "boolean", "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" }, "marketingSource": { "type": "string", "maxLength": 40, "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" }, "mcc": { "type": "string", "maxLength": 4, "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "merchantScore": { "type": "integer", "maxLength": 2, "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" }, "messageCategory": { "type": "string", "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" }, "npaCode": { "type": "string", "maxLength": 2, "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" }, "overridePaymentMethod": { "type": "string", "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "overrideCountryCode": { "type": "string", "maxLength": 2, "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" }, "priorAuthenticationData": { "type": "string", "maxLength": 2048, "description": "This field carry data that the ACS can use to verify the authentication process.\n" }, "priorAuthenticationMethod": { "type": "string", "maxLength": 2, "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" }, "priorAuthenticationReferenceId": { "type": "string", "maxLength": 36, "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" }, "priorAuthenticationTime": { "type": "string", "maxLength": 12, "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "returnUrl": { "type": "string", "maxLength": 2048, "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" }, "requestorId": { "type": "string", "maxLength": 35, "description": "Cardinal's directory server assigned 3DS Requestor ID value" }, "requestorInitiatedAuthenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" }, "requestorName": { "type": "string", "maxLength": 40, "description": "Cardinal's directory server assigned 3DS Requestor Name value" }, "referenceId": { "type": "string", "maxLength": 50, "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" }, "sdkMaxTimeout": { "type": "string", "maxLength": 2, "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" }, "transactionMode": { "type": "string", "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "scoreRequest": { "type": "integer", "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" } } }, "watchlistScreeningInformation": { "type": "object", "properties": { "addressOperator": { "type": "string", "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" }, "weights": { "type": "object", "properties": { "address": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" }, "company": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" }, "name": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" } } }, "sanctionLists": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" }, "proceedOnMatch": { "type": "boolean", "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n" } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } } } }, "payerAuthSetup_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "required": [ "expirationMonth", "expirationYear", "number" ], "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "tokenizedCard": { "type": "object", "required": [ "transactionType", "type", "expirationMonth", "expirationYear", "number" ], "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" } } }, "fluidData": { "type": "object", "required": [ "value" ], "properties": { "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "required": [ "customerId" ], "properties": { "customerId": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" } } }, "tokenInformation": { "type": "object", "properties": { "transientToken": { "type": "string", "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" }, "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } } } }, "checkPayerAuthEnrollment_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "description": "Contains `currency` and `totalAmount` for this order.", "required": [ "currency", "totalAmount" ], "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" } } }, "preOrder": { "type": "string", "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" }, "preOrderDate": { "type": "string", "maxLength": 10, "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" }, "reordered": { "type": "boolean", "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "destinationTypes": { "type": "string", "maxLength": 25, "description": "Shipping destination of item. Example: Commercial, Residential, Store\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "destinationCode": { "type": "integer", "maxLength": 2, "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" }, "email": { "type": "string", "maxLength": 255, "description": "Email of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" } } }, "lineItems": { "type": "array", "description": "This array contains detailed information about individual products in the order.", "items": { "type": "object", "required": [ "unitPrice" ], "properties": { "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "shippingAddress1": { "type": "string", "maxLength": 50, "description": "Address where item will be shipped" }, "shippingAddress2": { "type": "string", "maxLength": 50, "description": "Address where item will be shipped" }, "shippingCity": { "type": "string", "maxLength": 20, "description": "City where item will be shipped" }, "shippingCountryCode": { "type": "string", "maxLength": 10, "description": "Country where item will be shipped" }, "shippingFirstName": { "type": "string", "maxLength": 20, "description": "Customer's first name" }, "shippingLastName": { "type": "string", "maxLength": 20, "description": "Customer's last name" }, "shippingMiddleName": { "type": "string", "maxLength": 20, "description": "Customer's middle name" }, "shippingPhone": { "type": "integer", "description": "Phone number where item will be shipped" }, "shippingPostalCode": { "type": "integer", "description": "Postal code where item will be shipped" }, "shippingState": { "type": "string", "maxLength": 20, "description": "State where item will be shipped" } } } }, "billTo": { "type": "object", "required": [ "address1", "country", "administrativeArea", "postalCode", "email", "firstName", "lastName" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" } } }, "totalOffersCount": { "type": "string", "maxLength": 2, "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "required": [ "expirationMonth", "expirationYear", "number" ], "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "tokenizedCard": { "type": "object", "required": [ "type", "expirationMonth", "expirationYear", "number", "transactionType", "cryptogram", "securityCode" ], "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" } } }, "fluidData": { "type": "object", "required": [ "value" ], "properties": { "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "required": [ "customerId" ], "properties": { "customerId": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" } } }, "tokenInformation": { "type": "object", "properties": { "transientToken": { "type": "string", "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" }, "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } }, "buyerInformation": { "type": "object", "required": [ "mobilePhone" ], "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" }, "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } }, "description": "This array contains detailed information about the buyer's form of persoanl identification." }, "mobilePhone": { "type": "integer", "maxLength": 25, "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "workPhone": { "type": "integer", "maxLength": 25, "description": "Cardholder's work phone number." } } }, "deviceInformation": { "type": "object", "required": [ "userAgentBrowserValue", "httpBrowserTimeDifference", "httpBrowserScreenWidth", "httpBrowserScreenHeight", "httpBrowserLanguage", "httpBrowserJavaEnabled", "httpAcceptContent", "httpBrowserColorDepth" ], "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "rawData": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" }, "provider": { "type": "string", "maxLength": 32, "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" } } } }, "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "httpAcceptContent": { "type": "string", "maxLength": 256, "description": "The exact content of the HTTP accept header.\n" }, "httpBrowserLanguage": { "type": "string", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" }, "httpBrowserColorDepth": { "type": "string", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" }, "httpBrowserScreenHeight": { "type": "string", "maxLength": 6, "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" }, "httpBrowserScreenWidth": { "type": "string", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" }, "httpBrowserTimeDifference": { "type": "string", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" } } }, "merchantName": { "type": "string", "maxLength": 25, "description": "Your company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" } } }, "acquirerInformation": { "type": "object", "properties": { "acquirerBin": { "type": "string", "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" }, "password": { "type": "string", "maxLength": 8, "description": "Registered password for the Visa directory server.\n" }, "merchantId": { "type": "string", "maxLength": 15, "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" } } }, "recurringPaymentInformation": { "type": "object", "description": "This object contains recurring payment information.", "required": [ "frequency", "endDate" ], "properties": { "endDate": { "type": "string", "maxLength": 10, "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" }, "frequency": { "type": "integer", "maxLength": 4, "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" }, "numberOfPayments": { "type": "integer", "maxLength": 3, "description": "Total number of payments for the duration of the recurring subscription.\n" }, "originalPurchaseDate": { "type": "string", "maxLength": 17, "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" }, "sequenceNumber": { "type": "integer", "maxLength": 3, "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" }, "type": { "type": "string", "maxLength": 1, "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" }, "occurrence": { "type": "string", "maxLength": 2, "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" }, "validationIndicator": { "type": "string", "maxLength": 1, "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" }, "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" }, "maximumAmount": { "type": "string", "maxLength": 12, "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" }, "referenceNumber": { "type": "string", "maxLength": 35, "description": "This will contain a unique reference number for the recurring payment transaction.\n" } } }, "consumerAuthenticationInformation": { "type": "object", "required": [ "deviceChannel" ], "properties": { "strongAuthentication": { "type": "object", "properties": { "authenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" } } }, "acsWindowSize": { "type": "string", "maxLength": 2, "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" }, "alternateAuthenticationData": { "type": "string", "maxLength": 2048, "description": "Data that documents and supports a specific authentication process.\n" }, "alternateAuthenticationDate": { "type": "string", "maxLength": 14, "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" }, "alternateAuthenticationMethod": { "type": "string", "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" }, "authenticationDate": { "type": "string", "maxLength": 14, "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "transactionFlowIndicator": { "type": "integer", "maxLength": 2, "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" }, "challengeCode": { "type": "string", "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" }, "challengeStatus": { "type": "string", "maxLength": 2, "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" }, "customerCardAlias": { "type": "string", "maxLength": 128, "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "decoupledAuthenticationMaxTime": { "type": "string", "maxLength": 5, "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" }, "defaultCard": { "type": "boolean", "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" }, "deviceChannel": { "type": "string", "maxLength": 10, "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" }, "installmentTotalCount": { "type": "integer", "maxLength": 4, "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" }, "merchantFraudRate": { "type": "string", "maxLength": 2, "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" }, "marketingOptIn": { "type": "boolean", "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" }, "marketingSource": { "type": "string", "maxLength": 40, "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" }, "mcc": { "type": "string", "maxLength": 4, "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "merchantScore": { "type": "integer", "maxLength": 2, "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" }, "messageCategory": { "type": "string", "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" }, "npaCode": { "type": "string", "maxLength": 2, "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" }, "overridePaymentMethod": { "type": "string", "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "overrideCountryCode": { "type": "string", "maxLength": 2, "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" }, "priorAuthenticationData": { "type": "string", "maxLength": 2048, "description": "This field carry data that the ACS can use to verify the authentication process.\n" }, "priorAuthenticationMethod": { "type": "string", "maxLength": 2, "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" }, "priorAuthenticationReferenceId": { "type": "string", "maxLength": 36, "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" }, "priorAuthenticationTime": { "type": "string", "maxLength": 12, "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "returnUrl": { "type": "string", "maxLength": 2048, "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" }, "requestorId": { "type": "string", "maxLength": 35, "description": "Cardinal's directory server assigned 3DS Requestor ID value" }, "requestorInitiatedAuthenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" }, "requestorName": { "type": "string", "maxLength": 40, "description": "Cardinal's directory server assigned 3DS Requestor Name value" }, "referenceId": { "type": "string", "maxLength": 50, "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" }, "sdkMaxTimeout": { "type": "string", "maxLength": 2, "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" }, "transactionMode": { "type": "string", "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "scoreRequest": { "type": "integer", "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" } } }, "riskInformation": { "type": "object", "properties": { "buyerHistory": { "type": "object", "properties": { "customerAccount": { "type": "object", "properties": { "lastChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, "creationHistory": { "type": "string", "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" }, "modificationHistory": { "type": "string", "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" }, "passwordHistory": { "type": "string", "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" }, "createDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" }, "passwordChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" } } }, "accountHistory": { "type": "object", "properties": { "firstUseOfShippingAddress": { "type": "boolean", "description": "Applicable when this is not a guest account.\n" }, "shippingAddressUsageDate": { "type": "string", "maxLength": 10, "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" } } }, "accountPurchases": { "type": "integer", "maxLength": 4, "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" }, "addCardAttempts": { "type": "integer", "maxLength": 3, "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "priorSuspiciousActivity": { "type": "boolean", "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" }, "paymentAccountHistory": { "type": "string", "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" }, "paymentAccountDate": { "type": "integer", "maxLength": 8, "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" }, "transactionCountDay": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "transactionCountYear": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" } } } } }, "travelInformation": { "type": "object", "properties": { "legs": { "type": "array", "items": { "type": "object", "properties": { "origination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the origin of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco.\nDo not use the colon (:) or the dash (-). For airport codes, see the IATA Airline and Airport Code Search.\nThe leg number can be a positive integer from 0 to N.\nFor example:\n`travelInformation.legs.0.origination=SFO`\n`travelInformation.legs.1.origination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_orig` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "destination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the destination of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the\ncolon (:) or the dash (-). For airport codes, see [IATA Airline and Airport Code Search](https://www.iata.org/publications/Pages/code-search.aspx). The leg number can be a\npositive integer from 0 to N.\nFor example:\n\n`travelInformation.legs.0.destination=SFO`\n`travelInformation.legs.1.destination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_dest` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "carrierCode": { "type": "string", "maxLength": 2, "description": "International Air Transport Association (IATA) code for the carrier for this leg of the trip.\nRequired for each leg.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "departureDate": { "type": "string", "description": "Departure date for the first leg of the trip. Format: YYYYMMDD.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nIf you do not include this field in your request, CyberSource uses a default value of 1.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "passengers": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" } } } } } }, "merchantDefinedInformation": { "type": "array", "items": { "type": "object", "description": "Contains merchant-defined key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to store information. The value\nappears in the Case Management Details window in the\nBusiness Center. The first four fields are the same fields\nthat are used by the Secure Data services. See request\ncode examples.\n**Warning** Merchant-defined data fields are not intended\nto and must not be used to capture personally identifying\ninformation. Accordingly, merchants are prohibited from\ncapturing, obtaining, and/or transmitting any personally\nidentifying information in or via the merchant-defined data\nfields. Personally identifying information includes, but is\nnot limited to, address, credit card number, social security\nnumber, driver's license number, state-issued\nidentification number, passport number, and card\nverification numbers (CVV, CVC2, CVV2, CID, CVN). In\nthe event CyberSource discovers that a merchant is\ncapturing and/or transmitting personally identifying\ninformation via the merchant-defined data fields, whether\nor not intentionally, CyberSource will immediately\nsuspend the merchant's account, which will result in a\nrejection of any and all transaction requests submitted by\nthe merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } } } }, "validateAuthenticationResults_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "description": "Contains `currency` and `totalAmount` for this order.", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" } } }, "fluidData": { "type": "object", "properties": { "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "required": [ "customerId" ], "properties": { "customerId": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "consumerAuthenticationInformation": { "type": "object", "required": [ "authenticationTransactionId" ], "properties": { "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "authenticationTransactionContext": { "type": "string", "maxLength": 256, "description": "Authentication transaction context is used as a unique identifier to link enroll and validate call.\n" }, "otpToken": { "type": "string", "maxLength": 255, "description": "OTP entered by the card holder.\n" }, "responseAccessToken": { "type": "string", "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "signedPares": { "type": "string", "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "credentialEncrypted": { "type": "string", "maxLength": 10, "description": "A flag to indicate if the passed credential has been encrypted by the Merchant." } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } } } }, "addNegative_request": { "type": "object", "properties": { "orderInformation": { "type": "object", "properties": { "address": { "type": "object", "description": "Contains address information related to the order", "properties": { "address1": { "type": "string", "description": "First line of the street address", "maxLength": 60 }, "address2": { "type": "string", "description": "Second line of the street address", "maxLength": 60 }, "locality": { "type": "string", "description": "City of the street address.\nRequired when adding the address to a list.\n", "maxLength": 50 }, "country": { "type": "string", "description": "Country of the street address. Use the two-character codes located in the Support Center.\nRequired if address1 is present.\n", "maxLength": 2 }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State, province, or territory of the street address. Use the two-character codes located in the Support Center." }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code of the street address. Required when adding the address to a list." } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "emailDomain": { "type": "string", "maxLength": 100, "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n" } } }, "shipTo": { "type": "object", "description": "Contains recipient shipping information.", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" } } }, "lineItems": { "type": "array", "description": "This array contains detailed information about individual products in the order.", "items": { "type": "object", "properties": { "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.\n" } } } } } }, "paymentInformation": { "type": "object", "description": "Contains the payment data for updating in List Management.", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "bin": { "type": "string", "maxLength": 6, "description": "description: The BIN is the first six digits of the card's Primary Account Number (PAN).\n" } } }, "bank": { "type": "object", "description": "Customer's bank account details", "properties": { "accountNumber": { "type": "string", "description": "Customer's bank account number. You can use this field only when scoring a direct debit transaction. Use this field if you do not or are not allowed to provide the IBAN. Note Do not use the IBAN in this field. Use nly the\ntraditional account number information. For the IBAN, use bank_iban.\n", "maxLength": 30 }, "code": { "type": "string", "description": "Country-specific code used to identify the customer's bank. Required for some countries if you do not or are not allowed to provide the IBAN instead. You can use this field only when scoring a direct debit transaction. For specific requirements, see \"Required Bank Account Information by Country,\"\n", "maxLength": 15 }, "country": { "type": "string", "description": "Country where the bank is located. Use the two-character ISO codes. You can use this field only when scoring a direct debit transaction.\n", "maxLength": 2 }, "iban": { "type": "string", "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\nFor specific requirements, see \"Required Bank Account Information by Country,\"\n", "maxLength": 30 } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "networkIpAddress": { "type": "string", "maxLength": 11, "description": "Network IP address of the customer (for example, 10.1.27). A network IP address includes up to 256 IP addresses.\n" } } }, "riskInformation": { "type": "object", "properties": { "markingDetails": { "type": "object", "description": "Details for marking the transaction as either positive or negative.", "properties": { "notes": { "type": "string", "description": "Notes or details that explain the reasons for adding the transaction to either the positive or negative list.", "maxLength": 120 }, "reason": { "type": "string", "description": "Reason for adding the transaction to the negative list. This field can contain one of the following values:\n- `fraud_chargeback:` You have received a fraud-related chargeback for the transaction.\n- `non_fraud_chargeback:` You have received a non-fraudulent chargeback for the transaction.\n- `suspected:` You believe that you will probably receive a chargeback for the transaction.\n- `creditback:` You issued a refund to the customer to avoid a chargeback for the transaction.\n", "maxLength": 25 }, "recordName": { "type": "string", "description": "Name of the customer's record entered in the list.\nFor the positive list, it is required if `action_\ncode`=`add_positive`. If absent from the request, `ics_risk_update` creates the value for this field by concatenating the customer's first and last names.\nFor the negative and the review lists, `record_name`, `customer_firstname`, and `customer_lastname` are optional.\n", "maxLength": 255 }, "action": { "type": "string", "description": "Indicates whether to add to or remove a customer's identity from the negative or positive list. This field can\ncontain one of the following values:\n- add: Add information to the list.\n- convert: moves the data.\n- delete: deletes the data from the list.\n" } } } } }, "buyerInformation": { "type": "object", "description": "Contains information about the buyer.", "properties": { "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" }, "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } } } } } }, "actionDecisionManagerCase_request": { "type": "object", "required": [ "decisionInformation" ], "properties": { "decisionInformation": { "type": "object", "properties": { "decision": { "type": "string", "description": "Decision that will be applied to the given case. Possible values are:\n- `ACCEPT`\n- `REJECT`\n" }, "comments": { "description": "Notes from the reviewer about the decision made to this case.", "type": "string", "maxLength": 4000 } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "description": "Follow-on action to apply to the case after the decision is successfully applied. Possible values are one of the following:\n- `CAPTURE`\n- `REVERSE`\n\nIf decision is ACCEPT, then CAPTURE can be used in actionList.\nIf decision is REJECT, then REVERSE can be used.\n", "type": "array", "items": { "type": "string" }, "example": [ "CAPTURE", "REVERSE" ] } } } } }, "commentDecisionManagerCase_request": { "type": "object", "required": [ "comments" ], "properties": { "comments": { "type": "string", "maxLength": 4000, "description": "Comments to be added to case." } } }, "fraudUpdate_request": { "type": "object", "required": [ "riskInformation" ], "properties": { "riskInformation": { "type": "object", "properties": { "markingDetails": { "type": "object", "description": "Details for marking the transaction.", "properties": { "notes": { "type": "string", "description": "Notes or details that explain the reasons for marking the transaction as suspect or otherwise.", "maxLength": 120 }, "reason": { "type": "string", "description": "Reason for marking the transaction as suspect or otherwise. This field can contain one of the following values:\n- `fraud_chargeback:` You have received a fraud-related chargeback for the transaction.\n- `non_fraud_chargeback:` You have received a non-fraudulent chargeback for the transaction.\n- `suspected:` You believe that you will probably receive a chargeback for the transaction.\n- `creditback:` You issued a refund to the customer to avoid a chargeback for the transaction.\n", "maxLength": 25 }, "fieldsIncluded": { "type": "array", "description": "This field can contain one or more of the following values. When you specify more than one value, separate them with commas (,).\n- `account_key_hash`\n- `customer_account_id`\n- `customer_email`\n- `customer_ipaddress`\n- `customer_phone`\n- `device_fingerprint`\n- `ship_address`\nIf no value is specified, `account_key_hash`, `customer_email`, and `ship_address` are used by default.\nNote `account_key_hash` adds the field that contains the card number (`customer_cc_number`).\n", "items": { "type": "string" } }, "action": { "type": "string", "description": "This field can contain one of the following values:\n- add: Mark as Suspect.\n- clear: Clear Mark as Suspect.\n- hide: Remove from history.\n" } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } } } }, "verifyCustomerAddress_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "required": [ "address1", "locality", "country", "postalCode" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" } } }, "shipTo": { "type": "object", "required": [ "address1", "country" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Fourth line of the shipping address." }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productRisk": { "type": "string", "maxLength": 6, "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" } } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Optional customer's account ID, tracking number, reward number, or other unique number\nthat you assign to the customer for the purpose that you choose\n" } } } } }, "validateExportCompliance_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "required": [ "address1", "locality", "country", "postalCode", "email" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Company name of person buying the product.\nImportant: This field or billTo.firstName and billTo.lastName must be present. Else, your request will fail.\n" } } }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.\n" }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productRisk": { "type": "string", "maxLength": 6, "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" } } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Optional customer's account ID, tracking number, reward number, or other unique number\nthat you assign to the customer for the purpose that you choose\n" } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." } } }, "exportComplianceInformation": { "type": "object", "properties": { "addressOperator": { "type": "string", "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" }, "weights": { "type": "object", "properties": { "address": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" }, "company": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" }, "name": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" } } }, "sanctionLists": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" } } } } }, "octCreatePayment_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "country": { "type": "string", "maxLength": 3, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneType": { "type": "string", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" } } }, "isCryptocurrencyPurchase": { "type": "string", "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n" } } }, "merchantInformation": { "type": "object", "properties": { "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "submitLocalDateTime": { "type": "string", "description": "Time that the transaction was submitted in local time. The time is in hhmmss format.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" }, "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address.\n" } } } } }, "recipientInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 30, "description": "First name of the recipient. \nThis field is applicable for AFT & OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "middleName": { "type": "string", "maxLength": 30, "description": "Middle name of the recipient. \nThis field is applicable for AFT & OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "lastName": { "type": "string", "maxLength": 30, "description": "Last name of the recipient. \nThis field is applicable for AFT & OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "address1": { "type": "string", "maxLength": 35, "description": "The street address of the recipient\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "The city of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported.\nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "The state or province of the recipient.\nThis field is applicable for AFT and OCT transactions when the recipient country is US or CA. Else it is optional.\n\nMust be a two character value\n" }, "country": { "type": "string", "maxLength": 2, "minLength": 2, "description": "The country associated with the address of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Recipient postal code. Required only for FDCCompass." }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Recipient phone number. Required only for FDCCompass." }, "aliasName": { "type": "string", "maxLength": 50, "description": "Account owner alias name.\n" }, "nationality": { "type": "string", "maxLength": 10, "description": "Account Owner Nationality" }, "countryOfBirth": { "type": "string", "maxLength": 10, "description": "Account Owner Country of Birth" }, "occupation": { "type": "string", "maxLength": 50, "description": "Account Owner Occupation" }, "email": { "type": "string", "maxLength": 150, "description": "Account Owner email address" } } }, "senderInformation": { "type": "object", "properties": { "referenceNumber": { "type": "string", "maxLength": 19, "description": "Reference number generated by you that uniquely identifies the sender." }, "account": { "type": "object", "properties": { "fundsSource": { "type": "string", "minLength": 2, "maxLength": 2, "description": "Source of funds. Possible values:\n\n Paymentech, CTV, FDC Compass:\n - 01: Credit card\n - 02: Debit card\n - 03: Prepaid card\n\n Paymentech, CTV -\n - 04: Cash\n - 05: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings\n accounts, and proprietary debit or ATM cards.\n - 06: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines\n of credit.\n\n FDCCompass -\n - 04: Deposit Account\n\n**Funds Disbursement**\n\nThis value is most likely 05 to identify that the originator used a deposit account to fund the\ndisbursement.\n\n**Credit Card Bill Payment**\n\nThis value must be 02, 03, 04, or 05.\n" }, "number": { "type": "string", "maxLength": 34, "description": "The account number of the entity funding the transaction. It is the sender's account number. It can\nbe a debit/credit card account number or bank account number.\n\n**Funds disbursements and OCT transactions**\n\nThis field is optional.\n\n**All other transactions**\n\nThis field is required when the sender funds the transaction with a financial instrument, for example\ndebit card.\nLength:\n* FDCCompass (<= 19)\n* Paymentech (<= 16)\n" } } }, "firstName": { "type": "string", "maxLength": 30, "description": "First name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor.\n" }, "middleInitial": { "type": "string", "maxLength": 1, "description": "Recipient middle initial (Optional).\n" }, "middleName": { "type": "string", "maxLength": 30, "description": "Middle name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "lastName": { "type": "string", "maxLength": 30, "description": "Last name of the sender.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "name": { "type": "string", "maxLength": 24, "description": "Name of sender.\n\n**Funds Disbursement**\n\nThis value is the name of the originator sending the funds disbursement.\n* CTV, Paymentech (30)\n" }, "address1": { "type": "string", "maxLength": 50, "description": "Street address of sender.\n\n**Funds Disbursement**\n\nThis value is the address of the originator sending the funds disbursement.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "City of sender.\n\n**Funds Disbursement**\n\nThis value is the city of the originator sending the funds disbursement.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Sender's state. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "countryCode": { "type": "string", "maxLength": 2, "description": "Country of sender. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n* CTV (3)\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Sender's postal code. Required only for FDCCompass." }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sender's phone number. Required only for FDCCompass." }, "dateOfBirth": { "type": "string", "minLength": 8, "maxLength": 8, "description": "Sender's date of birth in YYYYMMDD format. Required only for FDCCompass." }, "vatRegistrationNumber": { "type": "string", "maxLength": 13, "description": "Customer's government-assigned tax identification number.\n" }, "personalIdType": { "type": "string", "maxLength": 4, "description": "#### Visa Platform Connect\nThis tag will contain the type of sender identification.\nThe valid values are:\n\u2022 BTHD (Date of birth)\n\u2022 CUID (Customer identification (unspecified))\n\u2022 NTID (National identification)\n\u2022 PASN (Passport number)\n\u2022 DRLN (Driver license)\n\u2022 TXIN (Tax identification)\n\u2022 CPNY (Company registration number)\n\u2022 PRXY (Proxy identification)\n\u2022 SSNB (Social security number)\n\u2022 ARNB (Alien registration number)\n\u2022 LAWE (Law enforcement identification)\n\u2022 MILI (Military identification)\n\u2022 TRVL (Travel identification (non-passport))\n\u2022 EMAL (Email)\n\u2022 PHON (Phone number)\n" }, "type": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nThis tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are:\n\u2022 B (Business)\n\u2022 I (Individual)\n" }, "identificationNumber": { "type": "string", "maxLength": 255, "description": "#### Visa Platform Connect\nThis tag will contain an acquirer-populated value associated with the API : senderInformation.personalIdType which will identify the personal ID type of the sender.\n" }, "aliasName": { "type": "string", "maxLength": 50, "description": "Sender's alias name." } } }, "processingInformation": { "type": "object", "properties": { "businessApplicationId": { "type": "string", "maxLength": 2, "description": "Payouts transaction type.\n\nApplicable Processors: FDC Compass, Paymentech, CtV\n\nPossible values:\n\n**Credit Card Bill Payment**\n\n - **CP**: credit card bill payment\n\n**Funds Disbursement**\n\n - **FD**: funds disbursement\n - **GD**: government disbursement\n - **MD**: merchant disbursement\n\n**Money Transfer**\n\n - **AA**: account to account. Sender and receiver are same person.\n - **PP**: person to person. Sender and receiver are different.\n\n**Prepaid Load**\n\n - **TU**: top up\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to get the attributes for specified networks only.\nThe networks specified in this field must be a subset of the information provided during program enrollment. Refer to Sharing Group Code/Network Routing Order.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service.\n\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the network routing order.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference. \nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on the acquirer's routing priorities. \n" }, "commerceIndicator": { "type": "string", "maxLength": 13, "description": "Type of transaction.\n\nValue for an OCT transaction:\n- `internet`\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "payoutsOptions": { "type": "object", "properties": { "acquirerMerchantId": { "type": "string", "maxLength": 15, "description": "This field identifies the card acceptor for defining the point of service terminal in both local and interchange environments. An acquirer-assigned code identifying the card acceptor for the transaction. \nDepending on the acquirer and merchant billing and reporting requirements, the code can represent a merchant, a specific merchant location, or a specific merchant location terminal.\nAcquiring Institution Identification Code uniquely identifies the merchant.\nThe value from the original is required in any subsequent messages, including reversals, chargebacks, and representments.\n* Applicable only for CTV for Payouts.\n" }, "acquirerBin": { "type": "string", "maxLength": 11, "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant or ADM or dispensed cash. \nThis number is usually Visa-assigned.\n* Applicable only for CTV for Payouts.\n" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 12, "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction;\nthat is, to a given transaction set.\n\nFormat:\n Positions 1-4: The `yddd` equivalent of the date, where `y` = 0-9 and `ddd` = 001 \u2013 366.\n Positions 5-12: A unique identification number generated by the merchant\n\n* Applicable only for CTV for Payouts.\n" }, "accountFundingReferenceId": { "type": "string", "maxLength": 40, "description": "Visa (maxLength of 15) or MasterCard (maxLength of 40) generated transaction identifier (TID) that is unique for each original authorization and financial request.\n* Applicable only for CTV for Payouts.\n" }, "deferredDateTime": { "type": "string", "maxLength": 12, "description": "#### Visa Platform Connect\n\nContains date and time value indicating scheduled deferred OCT.\n\nFormat is : 'yyyyMMddHHmm', where\n\n'YYYY' = year\n'MM' = month\n'DD' = day\n'hh' = hour\n'mm' = minutes\n" } } }, "transactionReason": { "type": "string", "maxLength": 4, "description": "Transaction reason code.\n" }, "purposeOfPayment": { "type": "string", "maxLength": 12, "description": "This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide.\n" }, "fundingOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect :\nThis API will contain a code that denotes whether the customer identification data belongs to the sender or the recipient.\n\nThe valid values are:\n\u2022 S (Payer (sender))\n\u2022 R (Payee (recipient))\n" } } } } }, "languageCode": { "type": "string", "maxLength": 10, "description": "Contains the ISO 639-2 defined language Code\n" }, "purchaseOptions": { "type": "object", "properties": { "benefitAmount": { "type": "string", "maxLength": 20, "description": "Workplace benefit amount." }, "benefitType": { "type": "string", "maxLength": 100, "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n" } } }, "accountVerificationCode": { "type": "array", "x-nullable": true, "items": { "type": "string" }, "description": "Account verification code will inform what Payment Account Verification should be performed. With this array of codes, a merchant can choose \u00e0 la carte what verifications to run. This field is optional, and the default is 1 if it is not passed in. This means that a full validation of the fields will be performed.\nValid verification codes:\n- `1` = Full Account Verification (Card Account, CVN, CAVV, TAVV, Address, Name, eMail, Phone, Identity)\n- `2` = Card Account Verification\n- `3` = Address Verification\n- `4` = Card Authentication Method (CAM) (Cryptogram)\n- `5` = Cardholder Authentication Verification (CAVV)\n- `6` = Cardholder Identity Verification\n- `7` = CVV2 Verification\n- `8` = eMail Verification\n- `9` = Name Verification\n- `10` = Phone Verification\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 }, "state": { "type": "string", "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: WalMart\n- `014`: Enroute[^1]\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportswear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Maestro (UK Domestic)[^1]\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `035`: Laser\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `038`: Pinless Debit\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: JCrew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico card\n- `054`: Elo[^3]\n- `055`: Capitol One Private Label\n- `056`: Carnet\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: MEEZA\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } } } }, "aggregatorInformation": { "type": "object", "x-nullable": true, "properties": { "aggregatorId": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n" }, "name": { "type": "string", "x-nullable": true, "maxLength": 37, "description": "Your payment aggregator business name. This field is conditionally required when aggregator id is present.\n" }, "independentSalesOrganizationID": { "type": "string", "x-nullable": true, "maxLength": 11, "description": "Independent sales organization ID.\nThis field is only used for Mastercard transactions submitted through PPGS.\n" }, "subMerchant": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 20, "x-nullable": true, "description": "The ID you assigned to your sub-merchant.\n" } } }, "streetAddress": { "type": "string", "maxLength": 150, "description": "Acquirer street name." }, "city": { "type": "string", "maxLength": 100, "description": "Acquirer city." }, "state": { "type": "string", "maxLength": 10, "description": "Acquirer state." }, "postalCode": { "type": "string", "maxLength": 20, "description": "Acquirer postal code." }, "country": { "type": "string", "maxLength": 10, "description": "Acquirer country." } } } }, "example": { "clientReferenceInformation": { "code": "33557799" }, "senderInformation": { "referenceNumber": "1234567890", "address1": "900 Metro Center Blvd.900", "countryCode": "US", "locality": "Foster City", "name": "Thomas Jefferson", "administrativeArea": "CA", "account": { "number": "1234567890123456789012345678901234", "fundsSource": "01" }, "aliasName": "Thomas my friend" }, "processingInformation": { "commerceIndicator": "internet", "businessApplicationId": "FD", "networkRoutingOrder": "ECG", "languageCode": "US", "purchaseOptions": { "benefitAmount": "10.00", "benefitType": "5T" } }, "payoutsOptions": { "retrievalReferenceNumber": "123456789012", "acquirerBin": "567890124" }, "reconciliationId": "1087488702VIAQNSPQ", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "merchantInformation": { "merchantCategoryCode": 1234, "merchantDescriptor": { "country": "US", "postalCode": "94440", "locality": "FC", "name": "Thomas", "administrativeArea": "CA" } }, "paymentInformation": { "card": { "expirationYear": "2035", "number": "4111111111111111", "expirationMonth": "12", "type": "001", "sourceAccountType": "CH" } }, "recipientInformation": { "firstName": "John", "lastName": "Doe", "address1": "Paseo Padre Boulevard", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94400", "phoneNumber": "6504320556", "dateOfBirth": "19801009", "country": "US", "aliasName": "John My Friend", "nationality": "GB", "countryOfBirth": "GB", "occupation": "freelancer", "email": "joe@visa.com" }, "aggregatorInformation": { "streetAddress": "202 S. Division St.", "city": "Phoenix", "state": "Arizona", "postalCode": "560048", "country": "USA" } } }, "createPushFundsTransfer_request": { "type": "object", "required": [ "orderInformation" ], "properties": { "aggregatorInformation": { "type": "object", "x-nullable": true, "properties": { "aggregatorId": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n" }, "name": { "type": "string", "x-nullable": true, "maxLength": 37, "description": "Your payment aggregator business name. This field is conditionally required when aggregator id is present.\n" }, "independentSalesOrganizationID": { "type": "string", "x-nullable": true, "maxLength": 11, "description": "Independent sales organization ID.\nThis field is only used for Mastercard transactions submitted through PPGS.\n" }, "subMerchant": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 20, "x-nullable": true, "description": "The ID you assigned to your sub-merchant.\n" } } }, "streetAddress": { "type": "string", "maxLength": 150, "description": "Acquirer street name." }, "city": { "type": "string", "maxLength": 100, "description": "Acquirer city." }, "state": { "type": "string", "maxLength": 10, "description": "Acquirer state." }, "postalCode": { "type": "string", "maxLength": 20, "description": "Acquirer postal code." }, "country": { "type": "string", "maxLength": 10, "description": "Acquirer country." } } }, "clientReferenceInformation": { "type": "object", "x-nullable": true, "properties": { "code": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "applicationName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "orderInformation": { "type": "object", "required": [ "amountDetails" ], "properties": { "amountDetails": { "type": "object", "required": [ "totalAmount", "currency" ], "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places.\n" }, "currency": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "description": "Use a 3-character alpha currency code for currency of the funds transfer.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n\nCurrency must be supported by the processor.\n" }, "sourceCurrency": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "Use a 3-character alpha currency code for source currency of the funds transfer. Supported for card and bank account based cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" }, "destinationCurrency": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "Use a 3-character alpha currency code for destination currency of the funds transfer. Supported for card and bank account based cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "x-nullable": true, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. \nThe issuer can provide information about the surcharge amount to the customer. \n\nIf the amount is positive, then it is a debit for the customer. \n\nIf the amount is negative, then it is a credit for the customer.\n" } } } } } } }, "processingInformation": { "type": "object", "x-nullable": true, "properties": { "businessApplicationId": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,2}|.{2})$", "description": "Money Transfer (MT)\n- `AA`: Account to Account\n- `BI`: Bank-Initiated Money Transfer\n- `CD`: Cash Deposit\n- `FT`: Funds Transfer\n- `TU`: Prepaid Card Loan\n- `WT`: Wallet Transfer-Staged Digital Wallet (SDW) Transfer\n- `PP`: P2P Money Transfer\n\nFunds Disbursement (FD)\n- `BB`: Business-to-business Supplier Payments\n-\t`BP`: Non-Card Bill Pay \n-\t`CP`: Credit Card Bill Pay\n-\t`FD`: General Funds Disbursements\n-\t`GD`: Government Disbursements and Government Initiated Tax Refunds\n-\t`GP`: Gambling/Gaming Payouts (other than online gaming)\n-\t`LO`: Loyalty Payments\n-\t`MD`: Merchant Settlement\n-\t`MI`: Faster Refunds\n-\t`OG`: Online Gambling Payouts\n-\t`PD`: Payroll and Pension Disbursements\n-\t`RP`: Request-to-Pay Service\n" }, "payoutsOptions": { "type": "object", "properties": { "sourceCurrency": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "Use a 3-character alpha currency code for source currency of the funds transfer.\n\nRequired if sending processingInformation.payoutsOptions.sourceAmount.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" }, "destinationCurrency": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "Use a 3-character alpha currency code for destination currency of the funds transfer.\n\nYellow Pepper\n\nSupported for cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" }, "sourceAmount": { "type": "string", "maxLength": 12, "x-nullable": true, "description": "Source Amount is required in certain markets to identify the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity.\n\nFormat:\n\nMinimum Value: 0\n\nMaximum value: 999999999.99\n\nAllowed fractional digits: 2\n" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 24, "x-nullable": true, "description": "Unique reference number returned by the processor that identifies the transaction at the network.\n" }, "accountFundingReferenceId": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Visa (maxLength of 15) or MasterCard (maxLength of 40) generated transaction identifier (TID) that is unique for each original authorization and financial request.\n" } } }, "feeProgramId": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,3}|[a-zA-Z0-9]{3})$", "description": "Fee Program Indicator. This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n" }, "networkPartnerId": { "type": "string", "x-nullable": true, "maxLength": 8, "description": "Merchant payment gateway ID that is assigned by Mastercard and is provided by the acquirer when a registered merchant payment gateway service provider is involved in the transaction.\n\nThis field is supported for Visa Platform Connect, Chase Paymentech Salem.\n" }, "processingCode": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,4}|\\d{4})$", "description": "This field contains coding that identifies (1) the customer transaction type and (2) the customer account types affected by the transaction.\n\nDefault: 5402 (Original Credit Transaction)\n\nContains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund.\n" }, "sharingGroupCode": { "type": "string", "x-nullable": true, "maxLength": 16, "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities.\n\nValid Values:\n\nACCEL_EXCHANGE_E\n\nCU24_C\n\nINTERLINK_G\n\nMAESTRO_8\n\nNYCE_Y\n\nNYCE_F\n\nPULSE_S\n\nPULSE_L\n\nPULSE_H\n\nSTAR_N\n\nSTAR_W\n\nSTAR_Z\n\nSTAR_Q\n\nSTAR_M\n\nVISA_V\n" }, "purposeOfPayment": { "type": "string", "x-nullable": true, "maxLength": 12, "description": "This will send purpose of funds code for original credit transactions (OCTs).\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Transaction's reference number." }, "accountVerificationCode": { "type": "array", "x-nullable": true, "items": { "type": "string" }, "description": "Account verification code will inform what Payment Account Verification should be performed. With this array of codes, a merchant can choose \u00e0 la carte what verifications to run. This field is optional, and the default is 1 if it is not passed in. This means that a full validation of the fields will be performed.\nValid verification codes:\n- `1` = Full Account Verification (Card Account, CVN, CAVV, TAVV, Address, Name, eMail, Phone, Identity)\n- `2` = Card Account Verification\n- `3` = Address Verification\n- `4` = Card Authentication Method (CAM) (Cryptogram)\n- `5` = Cardholder Authentication Verification (CAVV)\n- `6` = Cardholder Identity Verification\n- `7` = CVV2 Verification\n- `8` = eMail Verification\n- `9` = Name Verification\n- `10` = Phone Verification\n" } } }, "recipientInformation": { "type": "object", "properties": { "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n- `033`: Visa Electron\n- `024`: Maestro\n- `042`: Maestro International\n" }, "securityCode": { "type": "string", "maxLength": 4, "x-nullable": true, "description": "4-digit value that indicates the cardCvv2Value. Values can be 0-9.\n" }, "number": { "type": "string", "maxLength": 20, "x-nullable": true, "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n\nConditional: this field is required if not using tokens.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "x-nullable": true, "description": "Four-digit year in which the payment card expires.\n\nFormat: YYYY.\n" }, "customer": { "type": "object", "properties": { "id": { "type": "string", "x-nullable": true, "maxLength": 32, "description": "Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "x-nullable": true, "maxLength": 32, "description": "Unique identifier for the Payment Instrument token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "x-nullable": true, "maxLength": 32, "description": "Unique identifier for the Instrument Identifier token used in the transaction. When you include this value in your request, many of the fields that can be supplied for an authorization or credit become optional.\n" } } } } } } }, "address1": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "First line of the recipient's address.\nRequired for card payments\n" }, "address2": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Second line of the recipient's address\n" }, "locality": { "type": "string", "maxLength": 25, "x-nullable": true, "description": "Recipient city.\n" }, "postalCode": { "type": "string", "x-nullable": true, "maxLength": 10, "description": "Recipient postal code. \n\nFor USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nMandatory for card payments.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "The recipient's province, state or territory. Conditional, required if recipient's country is USA or CAN. Must be an ISO 3166-2 uppercase alpha 2 or 3 character country subdivision code. For example, Missouri is MO.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nRequired for card payments.\n" }, "country": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Recipient country code. Use the ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" }, "firstName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "First name of recipient.\n" }, "middleName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Sender's middle name. This field is a passthrough, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. If the field is not required for the transaction, CyberSource does not forward it to the processor.\n" }, "lastName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Last name of recipient.\n" }, "phoneNumber": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n" }, "email": { "type": "string", "x-nullable": true, "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "personalIdentification": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "x-nullable": true, "maxLength": 80, "description": "The ID number/value.\nProcessor(35)\n" }, "type": { "type": "string", "x-nullable": true, "maxLength": 4, "description": "This tag will contain the type of sender identification. The valid values are:\n-\t`BTHD`: (Date of birth)\n-\t`CUID`: (Customer identification (unspecified))\n-\t`NTID`: (National identification)\n-\t`PASN`: (Passport number)\n-\t`DRLN`: (Driver license)\n-\t`TXIN`: (Tax identification)\n-\t`CPNY`: (Company registration number)\n-\t`PRXY`: (Proxy identification)\n-\t`SSNB`: (Social security number)\n-\t`ARNB`: (Alien registration number)\n-\t`LAWE`: (Law enforcement identification)\n-\t`MILI`: (Military identification)\n-\t`TRVL`: (Travel identification (non-passport))\n-\t`EMAL`: (Email)\n-\t`PHON`: (Phone number)\n" }, "issuingCountry": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,2}|.{2})$", "description": "Issuing country of the identification.\nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" }, "personalIdType": { "type": "string", "x-nullable": true, "maxLength": 1, "description": "This tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are: \n- `B` (Business)\n- `I` (Individual)\n" } } }, "buildingNumber": { "type": "string", "x-nullable": true, "maxLength": 255, "description": "Building number in the street address.\n\nFor example, if the street address is: Rua da Quitanda 187 then the building number is 187.\n\nApplicable to domestic Colombia transactions only.\n" }, "streetName": { "type": "string", "x-nullable": true, "maxLength": 99, "description": "This field contains the street name of the recipient's address.\n\nApplicable to domestic Colombia transactions only.\n" }, "type": { "type": "string", "x-nullable": true, "maxLength": 1, "description": "`B` for Business or `I` for individual.\n" } } }, "senderInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "x-nullable": true, "description": "Name of sender.\n\nFunds Disbursement\n\nThis value is the name of the originator sending the funds disbursement.\n\nGovernment entities should use this field\n" }, "email": { "type": "string", "maxLength": 255, "x-nullable": true, "description": "Customer's email address, including the full domain name.\n" }, "firstName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "This field contains the first name of the entity funding the transaction\nMandatory for card payments\n" }, "lastName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "This field contains the last name of the entity funding the transaction\nMandatory for card payments\n" }, "middleName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "This field contains the middle name of the entity funding the transaction\n" }, "postalCode": { "type": "string", "maxLength": 10, "x-nullable": true, "description": "Sender's postal code. For USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nRequired for FDCCompass.\n" }, "buildingNumber": { "type": "string", "maxLength": 255, "x-nullable": true, "description": "Building number in the street address.\n\nFor example, if the street address is: Rua da Quitanda 187 then the building number is 187.\n\nApplicable to domestic Colombia transactions only.\n" }, "streetName": { "type": "string", "x-nullable": true, "maxLength": 99, "description": "This field contains the street name of the recipient's address.\n\nApplicable to domestic Colombia transactions only.\n" }, "address1": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Street address of sender.\n\nFunds Disbursement\n\nThis value is the address of the originator sending the funds disbursement.\n\nRequired for card transactions\n" }, "address2": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Used for additional address information. For example: Attention: Accounts Payable \nOptional field.\n" }, "locality": { "type": "string", "maxLength": 25, "x-nullable": true, "description": "The sender's city\nMandatory for card payments\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "Sender's state. Use the State, Province, and Territory Codes for the United States and Canada.The sender's province, state or territory. Conditional, required if sender's country is USA or CAN. Must be uppercase alpha 2 or 3 character country subdivision code.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nMandatory for card payments\n" }, "country": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Sender's country code. Use ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" }, "dateOfBirth": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,8}|.{8})$", "description": "Sender's date of birth in YYYYMMDD format.\n" }, "phoneNumber": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n" }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "Three-digit value that indicates the card type.\n\nIMPORTANT It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n-\t`001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value 001 for Visa Electron.\n-\t`002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n-\t`033`: Visa Electron\n-\t`024`: Maestro\n-\t`042`: Maestro International\n" }, "securityCode": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,3}|.{3})$", "description": "3-digit value that indicates the card Cvv2Value. Values can be 0-9.\n" }, "sourceAccountType": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process.\n" }, "number": { "type": "string", "x-nullable": true, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" }, "expirationMonth": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,2}|.{2})$", "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" }, "expirationYear": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,4}|.{4})$", "description": "Four-digit year in which the payment card expires.\n" } } } } }, "referenceNumber": { "type": "string", "maxLength": 19, "x-nullable": true, "description": "Reference number generated by you that uniquely identifies the sender.\n" }, "account": { "type": "object", "x-nullable": true, "properties": { "fundsSource": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,2}|.{2})$", "description": "Source of funds. Possible values:\n\n- `01`: Credit card\n- `02`: Debit card\n- `03`: Prepaid card\n- `04`: Cash/Deposit Account\n- `05`: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings accounts, and proprietary debit or ATM cards.\n- `06`: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines of credit.\n\nFunds Disbursement This value is most likely 05 to identify that the originator used a deposit account to fund the disbursement.\n\nCredit Card Bill Payment This value must be 02, 03, 04, or 05.\n" }, "number": { "type": "string", "x-nullable": true, "maxLength": 34, "description": "The account number of the entity funding the transaction. It is the sender's account number. It can be a debit/credit card account number or bank account number.\n\nFunds disbursements\n\nThis field is optional.\n\nAll other transactions\n\nThis field is required when the sender funds the transaction with a financial instrument, for example debit card. Length:\n" } } }, "personalIdentification": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 80, "x-nullable": true, "description": "Processor(35)\n" }, "personalIdType": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "This tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are:\n- `B` (Business)\n- `I` (Individual)\n" }, "type": { "type": "string", "maxLength": 4, "x-nullable": true, "description": "This tag will contain the type of sender identification. The valid values are:\n\n- `BTHD`: (Date of birth)\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `CPNY`: (Company registration number)\n- `PRXY`: (Proxy identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `LAWE`: (Law enforcement identification)\n- `MILI`: (Military identification)\n- `TRVL`: (Travel identification (non-passport))\n- `EMAL`: (Email)\n- `PHON`: (Phone number)\n" }, "issuingCountry": { "x-nullable": true, "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "description": "Issuing country of the identification.\nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" } } }, "type": { "type": "string", "x-nullable": true, "maxLength": 1, "description": "`B` for Business or `I` for individual.\n" }, "vatRegistrationNumber": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n" } } }, "merchantInformation": { "type": "object", "properties": { "categoryCode": { "x-nullable": true, "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to \nclassify merchants into market segments. A payment card company assigned one or more of \nthese values to your business when you started accepting the payment card company's cards. \nWhen you do not include this field in your request, CyberSource uses the value in your CyberSource account.\n" }, "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 25, "description": "Merchant name." }, "locality": { "type": "string", "maxLength": 30, "description": "Merchant's city." }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country." }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Merchant's state." }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code." }, "contact": { "type": "string", "maxLength": 14, "description": "Merchant's contact information." }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address." } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "Three-digit value that indicates the card type.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires. Format: MM.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires. Format: YYYY.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n" } } }, "customer": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 32, "description": "Unique identifier for the Customer token used in the transaction.\n" } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 32, "description": "Unique identifier for the Payment Instrument token used in the transaction.\n" } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 32, "description": "Unique identifier for the Instrument Identifier token used in the transaction.\n" } } } } }, "pointOfServiceInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "cardSequenceNumber": { "x-nullable": true, "type": "string", "maxLength": 3, "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards.\n\nWhen this value is available, it is provided by the chip reader.\n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Mastercard transactions. To enable this feature please call support.\n\nNote Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing.\n" } } } } } }, "example": { "orderInformation": { "amountDetails": { "totalAmount": "124.05", "currency": "USD" } }, "processingInformation": { "businessApplicationId": "AA", "payoutsOptions": { "sourceAmount": "100", "sourceCurrency": "USD" }, "reconciliationId": "123456789" }, "paymentInformation": { "card": { "type": "001", "securityCode": "123", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2035" } }, "recipientInformation": { "paymentInformation": { "card": { "type": "001", "securityCode": "123", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2035" } }, "locality": "Atlanta", "address1": "1200 Peachtree Street", "buildingNumber": "1200", "country": "US", "firstName": "John", "lastName": "Doe", "middleInitial": "D", "middleName": "Dan", "postalCode": "12345", "administrativeArea": "GA", "streetName": "Peachtree Street" }, "senderInformation": { "account": { "fundsSource": "05", "number": "4104920120500002" }, "address1": "123 Street", "address2": "123", "buildingNumber": "123", "country": "US", "firstName": "Jane", "lastName": "Doe", "middleInitial": "N", "middleName": "Nancy", "postalCode": "54321", "administrativeArea": "CA", "streetName": "Street", "referenceNumber": "1231823" }, "merchantInformation": { "merchantDescriptor": { "name": "Sending Company Name", "postalCode": "94440", "address1": "Paseo Padre Boulevard", "locality": "Foster City", "administrativeArea": "CA", "country": "US", "contact": "65045550556" } } } }, "createPullFundsTransfer_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "x-nullable": true, "properties": { "code": { "type": "string", "x-nullable": true, "maxLength": 50, "description": "Originator-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "applicationName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "The name of the Connection Method that the originator uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "required": [ "totalAmount", "currency" ], "properties": { "totalAmount": { "type": "string", "maxLength": 12, "description": "The total amount of the funds transfer including all fees.\n\nThis value cannot be negative. \nYou can include a decimal point (.), but no other special characters.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Use a 3-character alpha currency code for currency of the sender.\n\nISO standard currencies: [http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) \n\nCurrency must be supported by the processor.\n" }, "serviceFee": { "type": "string", "maxLength": 8, "x-nullable": true, "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.\n" }, "foreignExchangeFee": { "type": "string", "maxLength": 12, "x-nullable": true, "description": "When present, this field contains the sender's foreign exchange markup fee (markup above the wholesale or VisaNet exchange rate as assessed by the originator). Values in this field must be in the same currency and format as defined in the amount field.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "x-nullable": true, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. \nThe issuer can provide information about the surcharge amount to the customer. \n\nIf the amount is positive, then it is a debit for the customer. \n\nIf the amount is negative, then it is a credit for the customer.\n" } } } } }, "isCryptoCurrencyPurchase": { "type": "string", "x-nullable": true, "maxLength": 5, "description": "This indicates that the funds transfer is for a crypto currency transaction.\nOptional\nY/y, true\nN/n, false\n" } } }, "processingInformation": { "type": "object", "required": [ "businessApplicationId" ], "properties": { "commerceIndicator": { "type": "string", "x-nullable": true, "maxLength": 18, "description": "Type of transaction. This field identifies the level of security used in an electronic commerce transaction over an open network (for example, the internet).\n\nValues for a Payouts transaction: \n`INTERNET`, `RECURRING`, `RECURRING_INTERNET`, `VBV_FAILURE`, `VBV_ATTEMPTED`, `VBV`, `SPA_FAILURE`, `SPA_ATTEMPTED`, `SPA` \n\nIf no value is entered this field will set a default value = `INTERNET`.\n" }, "fundingOptions": { "type": "object", "x-nullable": true, "properties": { "initiator": { "type": "object", "x-nullable": true, "properties": { "originatorInitiatedTransaction": { "type": "object", "x-nullable": true, "properties": { "originalTransactionId": { "type": "string", "maxLength": 15, "x-nullable": true, "description": "Contains a Visa-generated Transaction Identifier (TID) that is unique for each original authorization and financial request. The identifier links original messages to subsequent messages.\n\nConditional field. If the `processingInformation.fundingOptions.initiator.type`=`originator`, this field is mandatory. \n\n**Notes**: \n1. If an Pull Funds Transfer (AFT) transaction has a corresponding Push Funds Transfer (OCT) transaction, originators are strongly recommended to take the Transaction ID from the AFT and populate it into the OCT to link the two transactions together. \n2. Originators must link the Originator-Initiated Transaction with the original transaction using the Transaction Identifier that was generated for the original cardholder initiated transaction. However, for standing-instruction MITs (i.e., recurring), acquirers can use the Transaction Identifier generated for the previous transaction in the series to link the subsequent transactions.\n" }, "reason": { "type": "string", "pattern": "^(\\s{0,1}|.{1})$", "x-nullable": true, "description": "Possible values:\n- `1`: Resubmission\n- `2`: Delayed charge\n- `3`: Reauthorization for split shipment\n- `4`: No show\n- `5`: Account top up\n\nConditional: This field is not required for recurring transactions or when `processingInformation.fundingOptions.initiator.credentialStoredOnFile` = `True`. It is required for all other originator-initiated (MIT) transactions.\n" } } }, "type": { "type": "string", "maxLength": 10, "x-nullable": true, "description": "This field indicates whether the transaction is a originator-initiated transaction or sender-initiated transaction.\n\nValid values:\n- `sender`\n- `originator`\n\nConditional field. If value in this field is `originator`, this field is mandatory for originator-initated transactions.\n" }, "storedCredentialUsed": { "type": "boolean", "x-nullable": true, "description": "Indicates to an issuing bank whether an originator-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- `True` = originator-initiated transaction came from a card that was already stored on file\n- `False` = originator-initiated transaction came from a card that was not stored on file\n\nConditional for MITCOF transactions\n" }, "credentialStoredOnFile": { "type": "boolean", "x-nullable": true, "description": "Flag that indicates whether the transaction is the first originator-initiated transaction in a series, which means that the customer initiated the previous transaction. \n\nPossible values:\n- `True`: First originator-initiated transaction\n- `False`: Not the first originator-initiated transaction\n\nConditional for MITCOF transactions\n" } } } } }, "recurringOptions": { "type": "object", "x-nullable": true, "properties": { "firstRecurringPayment": { "type": "boolean", "x-nullable": true, "description": "Indicates the transaction that is the first of a series of recurring payments.\n\n- `True` = is first recurring payment\n- `False` = is not first recurring payment\n\nConditional for MITCOF transactions\n" } } }, "businessApplicationId": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "description": "Payouts transaction type.\n\nPossible Values:\n- `AA` = Account to account\n- `PP` = Person to person\n- `TU` = Top-up for enhanced prepaid loads\n- `WT` = Wallet transfer\n- `BI` = Bank-Initiated\n- `FT` = Funds Transfer\n- `FD` = Funds Disbursement\n- `MP` = Merchant Payment\n- `PD` = Payroll Disbursement\n- `LA` = Liquid Assets\n" }, "purposeOfPayment": { "type": "string", "x-nullable": true, "maxLength": 12, "description": "Visa Direct \nPurpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market.\n" }, "payoutsOptions": { "type": "object", "x-nullable": true, "properties": { "retrievalReferenceNumber": { "type": "string", "x-nullable": true, "maxLength": 12, "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction; that is, to a given transaction set.\n\nRecommended format: ydddhhnnnnnn \n\nPositions 1-4: The yddd equivalent of the date, where y = 0-9 and ddd = 001 \u2013 366. \nPositions 5-12: A unique identification number generated by the merchant.\n" } } }, "languageCode": { "type": "string", "x-nullable": true, "maxLength": 3, "description": "Contains the ISO 639-2 defined language Code\n" }, "accountVerificationCode": { "type": "array", "x-nullable": true, "items": { "type": "string" }, "description": "Account verification code will inform what Payment Account Verification should be performed. With this array of codes, a merchant can choose \u00e0 la carte what verifications to run. This field is optional, and the default is 1 if it is not passed in. This means that a full validation of the fields will be performed.\nValid verification codes:\n- `1` = Full Account Verification (Card Account, CVN, CAVV, TAVV, Address, Name, eMail, Phone, Identity)\n- `2` = Card Account Verification\n- `3` = Address Verification\n- `4` = Card Authentication Method (CAM) (Cryptogram)\n- `5` = Cardholder Authentication Verification (CAVV)\n- `6` = Cardholder Identity Verification\n- `7` = CVV2 Verification\n- `8` = eMail Verification\n- `9` = Name Verification\n- `10` = Phone Verification\n" } } }, "recipientInformation": { "type": "object", "x-nullable": true, "properties": { "administrativeArea": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "Recipient's state. Use the State, Province, and Territory Codes for the United States and Canada.\nValue must be an ISO Standard State Code: \nhttps://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n" }, "postalCode": { "type": "string", "maxLength": 10, "x-nullable": true, "description": "Recipient's postal code.\n" }, "country": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Recipient's country code. Check that this field contains 2-character alpha ISO 3166-1 standard values.\n" }, "personalIdentification": { "type": "object", "x-nullable": true, "properties": { "issuingCountry": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Issuing country of the identification. The field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" }, "id": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "This tag will contain an acquirer-populated id value associated with the API.\n" }, "type": { "type": "string", "pattern": "^(\\s{0,4}|.{4})$", "x-nullable": true, "description": "This tag will contain the type of recipient identification. The valid values are:\n\n- `BTHD`: (Date of birth)\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `CPNY`: (Company registration number)\n- `PRXY`: (Proxy identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `LAWE`: (Law enforcement identification)\n- `MILI`: (Military identification)\n- `TRVL`: (Travel identification (non-passport))\n- `EMAL`: (Email)\n- `PHON`: (Phone number)\n" }, "personalIdType": { "type": "string", "pattern": "^(\\s{0,1}|.{1})$", "x-nullable": true, "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification). \nThe valid values are: B (Business) I (Individual)\n" } } }, "firstName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "Recipient's first name.\n" }, "middleInitial": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "Middle Initial of recipient.\nThis field is supported by FDC Compass.\n" }, "middleName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "Recipient's middle name. This field is a pass through,\nwhich means that CyberSource does not verify the value or modify it in any way before sending it to the processor.\nIf the field is not required for the transaction, CyberSource does not forward it to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "Recipient's last name. Conditional field. If `recipientInformation.sameAsSender` = `false`, this field is mandatory.\n" }, "address1": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Street address of recipient. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "address2": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Second line of the recipient's address.\n" }, "buildingNumber": { "type": "string", "maxLength": 16, "x-nullable": true, "description": "This field contains the house or the building number of the recipient address.\n" }, "locality": { "type": "string", "maxLength": 25, "x-nullable": true, "description": "Recipient city.\n" }, "identificationNumber": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "Government-issued identification number.\n\nConditional: This field is mandatory if the `processingInformation.businessApplicationId` is any of the following: \n- `AA`\n- `PP`\n- `TU`\n- `BI`\n- `WT`\n- `FT`\n- and country code = `BR`, `AR`, `CO`, `PE`, in `recipientInformation.countryCode` (Argentina, Brazil, Colombia, and Peru)\n" }, "type": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "`B` for Business or `I` for individual.\n\nConditional: If `recipientInformation.identificationNumber` is present, then this field is mandatory.\n" }, "descriptor": { "type": "string", "maxLength": 25, "x-nullable": true, "description": "Recipient first name, this will be concatenated with the 4-digit originator abbreviation.\n" }, "accountId": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Identifier for the recipient's account.\n" }, "accountType": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Identifies the recipient's account type. This field is applicable for AFT transactions.\n\nValid values are:\n\n- `00` Other\n- `01` Routing transit number (RTN) and bank account\n- `02` IBAN\n- `03` Card account\n- `04` Email\n- `05` Phone number\n- `06` Bank account number (BAN) and bank identification code (BIC)\n- `07` Wallet ID\n- `08` Social network ID\n" }, "aliasName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Account owner alias name.\n" }, "countryOfBirth": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Account Owner Country of Birth\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "x-nullable": true, "description": "Recipient's date of birth. Format: YYYYMMDD.\n" }, "email": { "type": "string", "maxLength": 150, "x-nullable": true, "description": "Account Owner email address\n" }, "nationality": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Account Owner Nationality\n" }, "occupation": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Account Owner Occupation\n" }, "streetName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "This field contains the street name of the recipient's address.\n" } } }, "senderInformation": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 10, "x-nullable": true, "description": "Sender's postal code. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "firstName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "First name of sender. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "middleInitial": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "Middle Initial of sender\n" }, "middleName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "This field contains the middle name of the entity funding the transaction.\n" }, "lastName": { "type": "string", "maxLength": 35, "x-nullable": true, "description": "Last name of sender. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "address1": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Street address of sender. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "address2": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Second line of the sender's address.\n" }, "locality": { "type": "string", "maxLength": 25, "x-nullable": true, "description": "City of sender. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Sender's state. Use the **State, Province, and Territory Codes for the United States and Canada**. This field is conditional: it is required if in the United States or Canada, and transaction is using neither a Customer nor Payment Instrument token. \n\nValue must be an ISO Standard State Code: [https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf)\n" }, "country": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Country of sender. Check that this field contains 2 character alpha ISO 3166-1 standard values. This field is conditional: it is required if using neither a Customer nor Payment Instrument token.\n" }, "paymentInformation": { "type": "object", "x-nullable": true, "properties": { "card": { "type": "object", "x-nullable": true, "properties": { "type": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "Three-digit value that indicates the card type. Mandatory if not present in a token.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n- `033`: Visa Electron\n- `024`: Maestro\n" }, "securityCode": { "type": "string", "pattern": "^(\\s{0,3}|.{3})$", "x-nullable": true, "description": "3-digit value that indicates the cardCvv2Value. Values can be 0-9.\n" }, "number": { "type": "string", "pattern": "^(\\s{0,19}|.{13,19})$", "x-nullable": true, "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n\nConditional: this field is required if not using tokens.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n\nConditional: this field is required if using neither a Customer nor Payment Instrument token.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "x-nullable": true, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\nConditional: this field is required if using neither a Customer nor Payment Instrument token.\n" } } }, "tokenizedCard": { "type": "object", "x-nullable": true, "properties": { "cryptogram": { "type": "string", "x-nullable": true, "maxLength": 255, "description": "This field contains token cryptogram information" }, "expirationMonth": { "type": "string", "x-nullable": true, "maxLength": 2, "description": "One of two possible meanings:\n\nThe two-digit month in which a token expires.\nThe two-digit month in which a card expires. \n\nFormat: `MM` \n\nPossible values: 01 through 12\n" }, "expirationYear": { "type": "string", "x-nullable": true, "maxLength": 4, "description": "One of two possible meanings:\n\nThe four-digit year in which a token expires.\nThe four-digit year in which a card expires. \n\nFormat: `YYYY` \n\nPossible values: 1900 through 3000 \n\nData type: Non-negative integer\n" }, "number": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Customer's payment network token value.\n" }, "securityCode": { "type": "string", "x-nullable": true, "maxLength": 4, "description": "Card Verification Number (CVN).\n" }, "type": { "type": "string", "x-nullable": true, "maxLength": 3, "description": "Three-digit value that indicates the card type. Mandatory if not present in a token.\n\nPossible values:\n\n- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n- `033`: Visa Electron\n- `024`: Maestro\n" } } }, "customer": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 32, "x-nullable": true, "description": "Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required become optional.\n\nIf you intend on using more than one token, please take note of the following conditions:\n\n- In case a Customer token is accompanied by an Instrument Identifier token, the card number from the Instrument Identifier token will take precedence over the Customer token.\n- The Customer token and the Payment Instrument token are mutually exclusive. If both are present, you will receive an error. \n\nFor more information on TMS, please see our originator-facing documentation.\n\nConditional: If the card and paymentInstrument object information is incomplete, this field becomes mandatory to retrieve missing information.\n" } } }, "paymentInstrument": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 32, "x-nullable": true, "description": "Unique identifier for the Payment Instrument token used in the transaction. When you include this value in your request, many of the fields that are normally required become optional.\n\nIf you intend on using more than one token, please take note of the following conditions:\n\n- In case a Payment Instrument token is accompanied by an Instrument Identifier token, the card number from the Instrument Identifier token will take precedence over the Payment Instrument token.\n- The Customer token and the Payment Instrument token are mutually exclusive. If both are present, you will receive an error. \n\nFor more information on TMS, please see our originator-facing documentation.\n\nConditional: If the card and customer object information is incomplete, this field becomes mandatory to retrieve missing information.\n" } } }, "instrumentIdentifier": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 32, "x-nullable": true, "description": "Unique identifier for the Instrument Identifier token used in the transaction. When you use this in the request, the card number field becomes optional. Conditional: this field is only required if card number is not sent in through `senderInformation.paymentInformation.card.number`. \n\nFor more information on TMS, please see our originator-facing documentation.\n\nConditional: this field is only required if card number is **not** sent in through `senderInformation.paymentInformation.card.number`.\n" } } }, "accountType": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "If supported, the `accountType` can specify what type of account is used by the issuer. Must be a valid value:\n- `00`-Not applicable\n- `10`-Saving account\n- `20`-Checking account\n- `30`-Credit card account\n- `40`-Universal account\n" } } }, "consumerAuthentication": { "type": "object", "x-nullable": true, "properties": { "cavv": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Cardholder authentication verification value (CAVV). \n\nConditional: this field is mandatory if the transaction is using either a Visa or Visa Electron card, and if the commerce indicator is = `VBV`.\n\nIf in hexabinary format, length of field value must be =40. \nIf in base64 format, length of field must be =28.\n" }, "strongAuthentication": { "type": "object", "x-nullable": true, "properties": { "lowValueExemptionIndicator": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "This field will contain the low value exemption indicator with one of the following values: \n\nPossible values:\n- `0` ( low value exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment)\n\nOnly applicable for SCA participants. Only one of the SCA flags (`senderInformation.consumerAuthentication.strongAuthentication.*`) may be supplied at once.\n" }, "riskAnalysisExemptionIndicator": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "This field will contain the transaction risk analysis exemption indicator with one of the following values: \n\nPossible values:\n- `0` (TRA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be low risk in accordance with the criteria defined by PSD2/RTS)\n\nOnly applicable for SCA participants. Only one of the SCA flags (`senderInformation.consumerAuthentication.strongAuthentication.*`) may be supplied at once.\n" }, "trustedMerchantExemptionIndicator": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "Possible values:\n- `0` (Trusted merchant exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder)\n\nOnly applicable for SCA participants. Only one of the SCA flags (`senderInformation.consumerAuthentication.strongAuthentication.*`) may be supplied at once.\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "This field will contain the secure corporate payment exemption indicator with one of the following values: \n\nPossible values:\n- `0` (SCA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment)\n\nOnly applicable for SCA participants. Only one of the SCA flags (`senderInformation.consumerAuthentication.strongAuthentication.*`) may be supplied at once.\n" }, "delegatedAuthenticationExemptionIndicator": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "This field will contain the delegated authentication exemption indicator with one of the following values: \n\nPossible values:\n- `0` (delegated Authentication exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer))\n\nOnly applicable for SCA participants. Only one of the SCA flags (`senderInformation.consumerAuthentication.strongAuthentication.*`) may be supplied at once.\n" } } } } }, "personalIdentification": { "type": "object", "x-nullable": true, "properties": { "issuingCountry": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Issuing country of the identification. \nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" }, "id": { "type": "string", "maxLength": 80, "x-nullable": true, "description": "The ID number/value.\n\nVisa Direct(35 characters) \nThis tag will contain an acquirer-populated id value associated with the API. \nIf `senderInformation.personalIdentification.type`=`BTHD`, then the id format must be `YYYYMMDD`.\n" }, "type": { "type": "string", "pattern": "^(\\s{0,4}|.{4})$", "x-nullable": true, "description": "Visa Direct \nThis tag will contain the type of sender identification. \nThe valid values are: \n\u2022 `BTHD` (Date of birth) \n\u2022 `CUID` (Customer identification (unspecified)) \n\u2022 `NTID` (National identification) \n\u2022 `PASN` (Passport number) \n\u2022 `DRLN` (Driver license) \n\u2022 `TXIN` (Tax identification) \n\u2022 `CPNY` (Company registration number) \n\u2022 `PRXY` (Proxy identification) \n\u2022 `SSNB` (Social security number) \n\u2022 `ARNB` (Alien registration number) \n\u2022 `LAWE` (Law enforcement identification) \n\u2022 `MILI` (Military identification) \n\u2022 `TRVL` (Travel identification (non-passport)) \n\u2022 `EMAL` (Email) \n\u2022 `PHON` (Phone number)\n" }, "personalIdType": { "type": "string", "pattern": "^(\\s{0,1}|.{1})$", "x-nullable": true, "description": "It denotes whether the tax ID is a business or individual tax ID. \nThe valid values are: \n\u2022 `B` (Business) \n\u2022 `I` (Individual)\n\nVisa Direct \nThis field is required when `senderInformation.personalIdentification.type` has the value of `TXIN` (Tax identification). \nA value for `senderInformation.personalInformation.id` is required when `senderInformation.personalIdentification.personalIdType` is present in a request.\n" } } }, "referenceNumber": { "type": "string", "maxLength": 19, "x-nullable": true, "description": "Visa Direct(16 characters) \nIf the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required. \nIf the transaction is a funds disbursement, the field is required.\n" }, "account": { "type": "object", "properties": { "fundsSource": { "type": "string", "maxLength": 2, "description": "Source of funds. Possible values:\n- `01`: Credit card,\n- `02`: Debit card,\n- `03`: Prepaid card,\n- `04`: Cash,\n- `05`: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings,\n- `06`: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines,\n- `07`: Mobile wallet account,\n- `08`: Other source of funds.\n" }, "number": { "type": "string", "maxLength": 34, "description": "- Cross-border: Account number of the recipient account being funded by the AFT, is mandatory in cross-border Money Transfer AFTs.\n- Domestic: Optional in domestic AFTs.\n- Europe Domestic and intra-EEA cross-border: Account number of the recipient account being funded is mandatory in domestic and intra-EEA Money Transfer AFTs.\nIn an AFT, this field contains the account number of the Recipient Account being funded by the AFT.\nNote: Inclusion of this tag is conditional; Sender Information reference number or Sender account number are required. If this tag is not included, Sender Reference number must be present and contain a reference number for the recipient account.\n" } } }, "aliasName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Sender's alias name.\n" }, "countryOfBirth": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Account Owner Country of Birth.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "x-nullable": true, "description": "Sender's date of birth. Format: YYYYMMDD.\n" }, "email": { "type": "string", "maxLength": 150, "x-nullable": true, "description": "Account Owner email address\n" }, "name": { "type": "string", "maxLength": 24, "x-nullable": true, "description": "Name of sender. Use this field if the sender is a business.\n" }, "nationality": { "type": "string", "pattern": "^(\\s{0,2}|.{2})$", "x-nullable": true, "description": "Account Owner Nationality\n" }, "occupation": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Account Owner Occupation.\n" }, "phoneNumber": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Sender's phone number.\n" }, "type": { "type": "string", "pattern": "^(\\s{0,1}|.{1})$", "x-nullable": true, "description": "This field identifies if the sender is a business or an individual. \n\nThe valid values are: \n\n\u2022 `B` (Business) \n\u2022 `I` (Individual)\n" } } }, "buyerInformation": { "type": "object", "properties": { "vatRegistrationNumber": { "type": "string", "maxLength": 13, "description": "Customer's VAT registration number for the individual sender tax identification. \nThis field flows in ISO field 104, DSID 63 tag 06.\n\nVisa is recommending the use of the following business application identifier (BAI) values \nand merchant category code (MCC) combinations to process domestic bill payments, toll payments, \nand business-to-business funding transactions as AFTs in Brazil:\n- BB (Business-to-business)\n- BP (Non-card bill payment)\n- FT (Funds transfer)\n- WT (Wallet transfer)\n\nMCC: 4784\n\n#### Mapping\n- SCMP API Field: purchaser_vat_registration_number\n- Simple Order API Field: invoiceHeader_purchaserVATRegistrationNumber\n- CCS: customer.vatRegistrationNumber\n\nOptional field.\n" } } }, "aggregatorInformation": { "type": "object", "x-nullable": true, "properties": { "aggregatorId": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Visa Direct(11 characters) \nValue that identifies you as a payment aggregator. Get this value from the processor.\n" }, "name": { "type": "string", "x-nullable": true, "maxLength": 37, "description": "Visa Direct(25 characters) \nYour payment aggregator business name. This field is conditionally required when aggregator id is present.\n" }, "subMerchant": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 20, "x-nullable": true, "description": "Visa Direct(15 characters) \nThe ID you assigned to your sub-merchant.\n" } } }, "city": { "type": "string", "x-nullable": true, "maxLength": 100, "description": "Aggregator city.\n" }, "country": { "type": "string", "x-nullable": true, "pattern": "^(\\s{0,2}|.{2})$", "description": "Aggregator country.\n" }, "postalCode": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Aggregator postal code.\n" }, "state": { "type": "string", "x-nullable": true, "maxLength": 10, "description": "Aggregator state.\n" }, "streetAddress": { "type": "string", "x-nullable": true, "maxLength": 150, "description": "Aggregator street name. \n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "x-nullable": true, "properties": { "address1": { "type": "string", "x-nullable": true, "maxLength": 60, "description": "First line of merchant's address.\n" }, "administrativeArea": { "type": "string", "x-nullable": true, "maxLength": 6, "description": "The state where the merchant is located.\n" }, "contact": { "type": "string", "x-nullable": true, "maxLength": 14, "description": "Contact information for the merchant. This field contains additional information for contacting the merchant, such as an additional phone number or a contact name.\n" }, "country": { "type": "string", "x-nullable": true, "maxLength": 2, "description": "Merchant's country.\n" }, "county": { "type": "string", "x-nullable": true, "maxLength": 3, "description": "Merchant's county. Used for US Merchants only. Send a 3-digit numeric FIPS county code. https://www2.census.gov/programs-surveys/decennial/2010/partners/pdf/FIPS_StateCounty_Code.pdf\n" }, "customerServicePhoneNumber": { "type": "string", "x-nullable": true, "maxLength": 27, "description": "Indicates customer service phone number of Merchant.\n" }, "locality": { "type": "string", "x-nullable": true, "maxLength": 30, "description": "Merchant's City.\n" }, "name": { "type": "string", "x-nullable": true, "maxLength": 25, "description": "Merchant's name.\n" }, "phone": { "type": "string", "x-nullable": true, "maxLength": 13, "description": "Merchant's phone.\n" }, "postalCode": { "type": "string", "x-nullable": true, "maxLength": 14, "description": "Merchant's postal code.\n" } } } } } }, "example": { "clientReferenceInformation": { "code": "33557799", "applicationName": "EXAMPLE API", "applicationVersion": "V1", "applicationUser": "example_user" }, "orderInformation": { "amountDetails": { "totalAmount": "53.00", "currency": "USD" } }, "processingInformation": { "commerceIndicator": "INTERNET", "businessApplicationId": "WT", "purposeOfPayment": "example" }, "recipientInformation": { "administrativeArea": "TX", "country": "US", "firstName": "Jennifer", "middleInitial": "M", "lastName": "Doe", "identificationNumber": "1234567890", "type": "I", "descriptor": "Jennifer1234", "address1": "123 Main St", "address2": "Suite 4000" }, "senderInformation": { "postalCode": "94440", "firstName": "John", "middleInitial": "A", "lastName": "Doe", "address1": "567 Paseo Padre Boulevard", "address2": "Apt 4", "locality": "Foster City", "administrativeArea": "CA", "country": "US", "paymentInformation": { "card": { "type": "001", "securityCode": "123", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2035" }, "accountType": "30" }, "personalIdentification": { "issuingCountry": "US", "id": "123abc", "type": "TXIN", "personalIdType": "I" }, "referenceNumber": "123456" } } }, "createPullFundsReversal_request": { "type": "object", "required": [ "reversalInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "x-nullable": true, "properties": { "code": { "type": "string", "x-nullable": true, "maxLength": 50, "description": "Originator-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "applicationName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "The name of the Connection Method that the originator uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "reversalInformation": { "type": "object", "required": [ "amountDetails" ], "properties": { "amountDetails": { "type": "object", "required": [ "totalAmount" ], "properties": { "totalAmount": { "type": "string", "maxLength": 12, "description": "Length: <=12. Up to 3 decimal places. \nType: String, with a non-negative double format.\n\nThe total amount of the AFT reversal including all fees. \na. an amount that is <= the totalAmount of the original AFT \nb. The amount of the transaction, inclusive of all fees assessed for the transaction, including currency conversion fees. \n Minimum Value: Field must be greater than zero: minimum value is the smallest amount in any given currency. \nc. Multiple successful reversals & refunds of the original AFT transaction are allowed but the sum of the transaction amounts must not total more than the original AFT totalAmount.\n" } } } } } }, "example": { "reversalInformation": { "amountDetails": { "totalAmount": "53.00" } } } }, "createPullFundsRefund_request": { "type": "object", "required": [ "orderInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "x-nullable": true, "properties": { "code": { "type": "string", "x-nullable": true, "maxLength": 50, "description": "Originator-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "applicationName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "The name of the Connection Method that the originator uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "orderInformation": { "type": "object", "required": [ "amountDetails" ], "properties": { "amountDetails": { "type": "object", "required": [ "totalAmount" ], "properties": { "totalAmount": { "type": "string", "maxLength": 12, "description": "Length: <=12. Up to 3 decimal places. \nType: String, with a non-negative double format.\n\nThe total amount of the AFT refund including all fees. \na. an amount that is <= the totalAmount of the original AFT \nb. The amount of the transaction, inclusive of all fees assessed for the transaction, including currency conversion fees. \n Minimum Value: Field must be greater than zero: minimum value is the smallest amount in any given currency. \nc. Multiple successful reversals & refunds of the original AFT transaction are allowed but the sum of the transaction amounts must not total more than the original AFT totalAmount.\n" } } } } } }, "example": { "orderInformation": { "amountDetails": { "totalAmount": "53.00" } } } }, "createPlan_request": { "type": "object", "properties": { "planInformation": { "type": "object", "required": [ "name", "billingPeriod" ], "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code is an optional field, If not provided system generates and assign one\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "description": { "type": "string", "maxLength": 255, "description": "Plan description\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE` (default)\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "required": [ "currency", "billingAmount" ], "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } }, "example": { "planInformation": { "name": "Gold Plan", "description": "New Gold Plan", "billingPeriod": { "length": "1", "unit": "M" }, "billingCycles": { "total": "12" } }, "orderInformation": { "amountDetails": { "currency": "USD", "billingAmount": "10", "setupFee": "2" } } } }, "updatePlan_request": { "type": "object", "properties": { "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code is an optional field, If not provided system generates and assign one\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "description": { "type": "string", "maxLength": 255, "description": "Plan description\n" }, "status": { "type": "string", "description": "Updating to `DRAFT` is not allowed from `ACTIVE` and `INACTIVE` status.\n\nPlan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "processingInformation": { "type": "object", "properties": { "subscriptionBillingOptions": { "type": "object", "properties": { "applyTo": { "type": "string", "description": "Valid Values:\n- `ALL` - Change applied to all Subscriptions (Existing + New)\n- `NEW` - Change applied to New Subsciptions only\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } }, "example": { "planInformation": { "name": "Gold Plan NA", "description": "Updated Gold Plan", "billingPeriod": { "length": "2", "unit": "W" }, "billingCycles": { "total": "11" } }, "processingInformation": { "subscriptionBillingOptions": { "applyTo": "ALL" } }, "orderInformation": { "amountDetails": { "currency": "USD", "billingAmount": "11", "setupFee": "2" } } } }, "createSubscription_request": { "type": "object", "required": [ "reportDefinitionName", "reportFields", "reportName", "startTime", "timezone", "reportFrequency", "reportMimeType" ], "properties": { "organizationId": { "type": "string", "pattern": "[a-zA-Z0-9-_]+", "description": "Valid CyberSource organizationId", "example": "Merchant 1" }, "reportDefinitionName": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "[a-zA-Z0-9-]+", "description": "Valid Report Definition Name", "example": "TransactionDetailReportClass" }, "reportFields": { "type": "array", "items": { "type": "string" }, "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ] }, "reportMimeType": { "type": "string", "description": "Valid values:\n- application/xml\n- text/csv\n", "example": "application/xml" }, "reportFrequency": { "type": "string", "description": "'The frequency for which subscription is created.'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\nValid Values:\n - 'DAILY'\n - 'WEEKLY'\n - 'MONTHLY'\n - 'USER_DEFINED'\n", "example": "DAILY" }, "reportInterval": { "type": "string", "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$", "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n" }, "reportName": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "[a-zA-Z0-9-_ ]+", "example": "My Daily Subscription" }, "timezone": { "type": "string", "example": "America/Chicago" }, "startTime": { "type": "string", "description": "The hour at which the report generation should start. It should be in hhmm format.", "example": "0900" }, "startDay": { "type": "integer", "minimum": 1, "maximum": 31, "description": "This is the start day if the frequency is WEEKLY or MONTHLY. The value varies from 1-7 for WEEKLY and 1-31 for MONTHLY. For WEEKLY 1 means Sunday and 7 means Saturday. By default the value is 1." }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupName": { "type": "string", "pattern": "[a-zA-Z0-9-_ ]+", "description": "Valid GroupName", "example": "CEMEA Group" } } }, "updateSubscription_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "description": "\nMerchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n", "type": "string", "maxLength": 59 } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "description": "> This field is ignored when you provide the `subscriptionInformation.originalTransactionId` or update the subscription.\n\nCommerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates.\n\nValid values:\n- `MOTO`\n- `RECURRING`\n- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n", "type": "string", "maxLength": 20 }, "authorizationOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "description": "> This field is ignored when you provide the `subscriptionInformation.originalTransactionId` or update the subscription.\n\nThis field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n", "type": "string" } } } } } } }, "planInformation": { "type": "object", "properties": { "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code is an optional field, If not provided system generates and assign one\n" }, "planId": { "type": "string", "maxLength": 26, "description": "Plan Id. Use Plan Id from Create Plan Service.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Subscription Name\n" }, "startDate": { "type": "string", "description": "Start date of the Subscription\n\nStart date must be in UTC. Format: YYYY-MM-DDThh:mm:ssZ\nThe T separates the date and the time. The Z indicates UTC.\n\nNote: Subscription starts on the day provided in UTC.\n\n**Example** 2022-08-11T22:47:57Z equals August 11, 2022, at 22:47:57 (10:47:57 p.m.).\nSubscription will start on August 11,2022.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" }, "surcharge": { "type": "object", "properties": { "amount": { "description": "Surcharge amount that you are charging the customer for this subscription. The surcharge amount will be added to the billing amount. \nThe issuer can provide information about the surcharge amount to the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n", "type": "string", "maxLength": 15 }, "description": { "maxLength": 255, "description": "Description of the surcharge.\n", "type": "string" } } } } } } } } }, "createFollowOnSubscription_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "description": "\nMerchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n", "type": "string", "maxLength": 59 } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "description": "> This field is ignored when you provide the `subscriptionInformation.originalTransactionId` or update the subscription.\n\nCommerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates.\n\nValid values:\n- `MOTO`\n- `RECURRING`\n- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n", "type": "string", "maxLength": 20 }, "authorizationOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "description": "> This field is ignored when you provide the `subscriptionInformation.originalTransactionId` or update the subscription.\n\nThis field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n", "type": "string" } } } } } } }, "planInformation": { "type": "object", "properties": { "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "subscriptionInformation": { "type": "object", "required": [ "name", "startDate" ], "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code is an optional field, If not provided system generates and assign one\n" }, "planId": { "type": "string", "maxLength": 26, "description": "Plan Id. Use Plan Id from Create Plan Service.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Subscription Name\n" }, "startDate": { "type": "string", "description": "Start date of the Subscription\n\nStart date must be in UTC. Format: YYYY-MM-DDThh:mm:ssZ\nThe T separates the date and the time. The Z indicates UTC.\n\nNote: Subscription starts on the day provided in UTC.\n\n**Example** 2022-08-11T22:47:57Z equals August 11, 2022, at 22:47:57 (10:47:57 p.m.).\nSubscription will start on August 11,2022.\n" }, "originalTransactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionId_\nin the reply message for the original subscription-initializing payment.\n" }, "originalTransactionAuthorizedAmount": { "type": "string", "maxLength": 19, "description": "Amount of the original subscription-initializing payment.\n\n*Required when using a Diners or Discover card*.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" }, "surcharge": { "type": "object", "properties": { "amount": { "description": "Surcharge amount that you are charging the customer for this subscription. The surcharge amount will be added to the billing amount. \nThe issuer can provide information about the surcharge amount to the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n", "type": "string", "maxLength": 15 }, "description": { "maxLength": 255, "description": "Description of the surcharge.\n", "type": "string" } } } } } } } }, "example": { "clientReferenceInformation": { "code": "FollowOn from 7216512479796378604957" }, "processingInformation": { "commerceIndicator": "recurring", "authorizationOptions": { "initiator": { "type": "merchant" } } }, "subscriptionInformation": { "planId": "6868912495476705603955", "name": "Subscription with PlanId", "startDate": "2024-08-01" } } }, "subscriptionsIdPaymentsPut_request": { "type": "object", "properties": { "billingCyclesToSkip": { "type": "array", "items": { "type": "integer" }, "description": "A list of billing cycles that are marked to be skipped.\nThe payment cannot be added to the list if it is a retry attempt.\nThe payment cannot be added to or removed from the list if it is on the same day as its scheduled processing time.\n" } } }, "getAccountInfo_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "customer": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" } } }, "processingInformation": { "type": "object", "properties": { "binSource": { "type": "string", "description": "Bin Source File Identifier.\n\nPossible values:\n- itmx\n- rupay\n" }, "payoutOptions": { "type": "object", "description": "Payout fields request parameters\n", "properties": { "payoutInquiry": { "type": "boolean", "description": "If `true` then provide attributes related to fund transfer/payouts. If payout information not found then response will have standard account lookup.\n\nPossible values:\n- true\n- false\n" }, "networkId": { "type": "string", "description": "The networks specified in this field must be a subset of the information provided during program enrollment\n \nPossible values:\n- 0020 : Accel/Exchange\n- 0024 : CU24\n- 0003 : Interlink\n- 0016 : Maestro\n- 0018 : NYCE\n- 0027 : NYCE\n- 0009 : Pulse\n- 0017 : Pulse\n- 0019 : Pulse\n- 0008 : Star\n- 0010 : Star\n- 0011 : Star\n- 0012 : Star\n- 0015 : Star\n- 0002 : Visa/PLUS\n" }, "acquirerBin": { "type": "string", "description": "BIN under which the Funds Transfer application is registered. This must match the information provided during enrollment.\n" } } } } } } }, "parseEmvTags_request": { "type": "object", "required": [ "requestor", "emvDetailsList" ], "properties": { "requestor": { "type": "string", "description": "Identifies the service requesting parsing\n" }, "parsedTagLimit": { "type": "integer", "description": "Number of tags to parse for each EMV tag string provided.\n" }, "emvDetailsList": { "type": "array", "description": "An array of objects, each containing a requestId and the corresponding emvRequestCombinedTags\n", "items": { "type": "object", "required": [ "requestId", "emvRequestCombinedTags" ], "properties": { "requestId": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "emvRequestCombinedTags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } } }, "createSearch_request": { "type": "object", "properties": { "save": { "type": "boolean", "description": "Indicates whether or not you want to save this search request for future use. The options are:\n\n* `true`\n* `false` (default value)\n\nIf set to `true`, this field returns\n`searchID` in the response. You can use this value to retrieve the details of the saved search.\n" }, "name": { "type": "string", "description": "Name of this search. When `save` is set to `true`, this search is saved with this name.\n" }, "timezone": { "type": "string", "description": "Merchant's time zone in ISO standard, using the TZ database format. For example: `America/Chicago`\n" }, "query": { "type": "string", "description": "String that contains the filters and variables for which you want to search. For information about supported field-filters and operators, see the [Query Filters]( https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn-search-intro/txn-filtering.html) section of the Transaction Search Developer Guide.\n" }, "offset": { "type": "integer", "description": "Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset.\n\nFor example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this:\n\n`offset=0`\n`offset=5`\n`offset=10`\n\n**Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned.\n" }, "limit": { "type": "integer", "description": "Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500.\n" }, "sort": { "type": "string", "description": "A comma separated list of the following form:\n\n`submitTimeUtc:desc`\n" } }, "example": { "save": "false", "name": "Search By Code", "timezone": "America/Chicago", "query": "clientReferenceInformation.code:123456 AND submitTimeUtc:[NOW/DAY-7DAYS TO NOW/DAY+1DAY}", "offset": 0, "limit": 100, "sort": "id:asc, submitTimeUtc:asc" } }, "createReport_request": { "type": "object", "properties": { "organizationId": { "type": "string", "description": "Valid CyberSource Organization Id", "pattern": "[a-zA-Z0-9-_]+", "example": "Test_Merchatnt_id" }, "reportDefinitionName": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "[a-zA-Z0-9-]+", "example": "TransactionRequestClass" }, "reportFields": { "type": "array", "items": { "type": "string" }, "description": "List of fields which needs to get included in a report", "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ] }, "reportMimeType": { "type": "string", "description": "'Format of the report'\n \nValid values:\n- application/xml\n- text/csv\n", "example": "application/xml" }, "reportName": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "[a-zA-Z0-9-_ ]+", "description": "Name of the report", "example": "My Transaction Request report" }, "timezone": { "type": "string", "description": "Timezone of the report", "example": "America/Chicago" }, "reportStartTime": { "type": "string", "format": "date-time", "description": "Start time of the report", "example": "2017-10-01T10:10:10+05:00" }, "reportEndTime": { "type": "string", "format": "date-time", "description": "End time of the report", "example": "2017-10-02T10:10:10+05:00" }, "reportFilters": { "type": "object", "properties": { "Application.Name": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of application names separated by comma", "example": "ics_auth" } }, "firstName": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of first names separated by comma", "example": "Johny" } }, "lastName": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of last names separated by comma", "example": "Danny" } }, "email": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of email addresses separated by comma", "example": "example@visa.com" } } } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupName": { "type": "string", "pattern": "[0-9]*", "description": "Specifies the group name", "example": "myGroup" } } }, "createStandardOrClassicSubscription_request": { "type": "object", "required": [ "reportDefinitionName", "subscriptionType" ], "properties": { "reportDefinitionName": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "[a-zA-Z]+", "description": "Valid Report Definition Name", "example": "TransactionDetailReportClass" }, "subscriptionType": { "description": "The subscription type for which report definition is required. Valid values are CLASSIC and STANDARD.\nValid Values:\n - CLASSIC\n - STANDARD\n", "type": "string" }, "reportName": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "[a-zA-Z0-9-_ ]+", "example": "TransactionDetailReport_Daily_Classic" }, "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format \nValid Values:\n - application/xml\n - text/csv\n" }, "reportFrequency": { "type": "string", "description": "'The frequency for which subscription is created. For Standard we can have DAILY, WEEKLY and MONTHLY. But for Classic we will have only DAILY.'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\nValid Values:\n- 'DAILY'\n- 'WEEKLY'\n- 'MONTHLY'\n- 'USER_DEFINED'\n", "example": "DAILY" }, "reportInterval": { "type": "string", "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$", "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n" }, "timezone": { "type": "string", "description": "By Default the timezone for Standard subscription is PST. And for Classic subscription it will be GMT. If user provides any other time zone apart from PST for Standard subscription api should error out.", "example": "America/Los_Angeles" }, "startTime": { "type": "string", "description": "The hour at which the report generation should start. It should be in hhmm format. By Default it will be 0000. The format is 24 hours format.", "example": "0900" }, "startDay": { "type": "integer", "minimum": 1, "maximum": 31, "description": "This is the start day if the frequency is WEEKLY or MONTHLY. The value varies from 1-7 for WEEKLY and 1-31 for MONTHLY. For WEEKLY 1 means Sunday and 7 means Saturday. By default the value is 1." }, "subscriptionStatus": { "type": "string", "description": "The status for subscription which is either created or updated. By default it is ACTIVE.\nValid Values:\n - ACTIVE\n - INACTIVE\n", "example": "ACTIVE" } } }, "createInvoice_request": { "type": "object", "required": [ "invoiceInformation", "orderInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "properties": { "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n" } } } } }, "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" } } } } }, "processingInformation": { "type": "object", "description": "Contains processing information, such as collection details.", "properties": { "requestPhone": { "type": "boolean", "description": "Collect the payers phone number during the payment.", "default": false }, "requestShipping": { "type": "boolean", "description": "Collect the payers shipping address during the payment.", "default": false } } }, "invoiceInformation": { "type": "object", "required": [ "dueDate", "description" ], "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "expirationDate": { "type": "string", "maxLength": 10, "format": "date", "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "sendImmediately": { "type": "boolean", "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.", "default": false }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment.", "default": false }, "deliveryMode": { "type": "string", "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n" } } }, "orderInformation": { "type": "object", "required": [ "amountDetails" ], "description": "Contains all of the order-related fields, such as the amount and line item details.", "properties": { "amountDetails": { "type": "object", "required": [ "currency", "totalAmount" ], "description": "Contains all of the amount-related fields.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "example": "10.00", "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "example": "10", "type": "string", "maxLength": 7, "description": "The total discount percentage applied to the order." }, "subAmount": { "type": "string", "maxLength": 25, "description": "Sub-amount of the order." }, "minimumPartialAmount": { "type": "string", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the order.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the order.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "description": "List of the line items from the order.", "maxItems": 30, "items": { "type": "object", "description": "Line item from the order.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "example": "10.00", "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountPercent": { "example": "10", "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } }, "merchantDefinedFieldValues": { "type": "array", "items": { "type": "object", "properties": { "definitionId": { "type": "integer", "format": "int64" }, "value": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "partner": { "developerId": "3435", "solutionId": "83745" } }, "customerInformation": { "name": "Tanya Lee", "firstName": "Tanya", "lastName": "Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "processingInformation": { "requestPhone": false, "requestShipping": false }, "invoiceInformation": { "invoiceNumber": "98753", "description": "This is a test invoice", "dueDate": "2019-07-11", "expirationDate": "2028-08-11", "sendImmediately": true, "allowPartialPayments": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true, "taxRate": "10" } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] }, "merchantDefinedFieldValues": [ { "definitionId": 123, "value": "Some value" }, { "definitionId": 456, "value": "Another value" } ] } }, "updateInvoice_request": { "required": [ "invoiceInformation", "orderInformation" ], "type": "object", "properties": { "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" } } } } }, "processingInformation": { "type": "object", "description": "Contains processing information, such as collection details.", "properties": { "requestPhone": { "type": "boolean", "description": "Collect the payers phone number during the payment.", "default": false }, "requestShipping": { "type": "boolean", "description": "Collect the payers shipping address during the payment.", "default": false } } }, "invoiceInformation": { "type": "object", "required": [ "dueDate", "description" ], "description": "Contains the updatable invoice information.", "properties": { "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "expirationDate": { "type": "string", "maxLength": 10, "format": "date", "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "sendImmediately": { "type": "boolean", "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.", "default": false }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment.", "default": false }, "deliveryMode": { "type": "string", "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n" } } }, "orderInformation": { "type": "object", "required": [ "amountDetails" ], "description": "Contains all of the order-related fields, such as the amount and line item details.", "properties": { "amountDetails": { "type": "object", "required": [ "currency", "totalAmount" ], "description": "Contains all of the amount-related fields.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "example": "10.00", "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "example": "10", "type": "string", "maxLength": 7, "description": "The total discount percentage applied to the order." }, "subAmount": { "type": "string", "maxLength": 25, "description": "Sub-amount of the order." }, "minimumPartialAmount": { "type": "string", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the order.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the order.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "description": "List of the line items from the order.", "maxItems": 30, "items": { "type": "object", "description": "Line item from the order.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "example": "10.00", "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountPercent": { "example": "10", "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } }, "merchantDefinedFieldValues": { "type": "array", "items": { "type": "object", "properties": { "definitionId": { "type": "integer", "format": "int64" }, "value": { "type": "string" } } } } }, "example": { "customerInformation": { "name": "Tanya Lee", "firstName": "Tanya", "lastName": "Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "processingInformation": { "requestPhone": false, "requestShipping": false }, "invoiceInformation": { "description": "This is a test invoice", "dueDate": "2019-07-11", "expirationDate": "2028-08-11", "sendImmediately": true, "allowPartialPayments": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": false } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] }, "merchantDefinedFieldValues": [ { "definitionId": 123, "value": "Some new Value" }, { "definitionId": 456, "value": "Another brand new value" } ] } }, "updateInvoiceSettings_request": { "type": "object", "properties": { "invoiceSettingsInformation": { "type": "object", "properties": { "merchantLogo": { "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", "type": "string", "maxLength": 10000000 }, "merchantDisplayName": { "description": "The merchant's display name shown on the invoice.", "type": "string", "maxLength": 100 }, "customEmailMessage": { "description": "The content of the email message that we send to your customers.", "type": "string", "maxLength": 2000 }, "enableReminders": { "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", "type": "boolean" }, "headerStyle": { "type": "object", "properties": { "fontColor": { "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" }, "backgroundColor": { "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" } } }, "deliveryLanguage": { "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", "type": "string", "maxLength": 6 }, "defaultCurrencyCode": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "payerAuthenticationInInvoicing": { "description": "For a merchant's invoice payments, enable 3D Secure payer authentication version 1, update to 3D Secure version 2, or disable 3D Secure. Possible values are: \n- `enable`\n- `update`\n- `disable` \n", "type": "string", "maxLength": 7 }, "showVatNumber": { "description": "Display VAT number on Invoice.", "type": "boolean", "default": false }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n" }, "shipTo": { "description": "Collect the payers shipping address.", "type": "boolean", "default": false }, "phoneNumber": { "description": "Collect the payers phone number.", "type": "boolean", "default": false }, "email": { "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.", "type": "boolean", "default": false }, "enableMerchantEmailNotifications": { "description": "Whether you would like to receive payment notification for successful transaction", "type": "boolean", "default": false }, "customLabels": { "description": "A list of custom labels that allows you to override (rename) default field names and control the visibility of specific fields on invoices and items. If the list is empty, the labels will not be overwritten.\n", "type": "array", "items": { "type": "object", "properties": { "key": { "description": "The invoice field key. Possible values:\n - billTo\n - invoiceNumber\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n - discount\n - tax\n", "type": "string" }, "value": { "description": "The new (overridden) field name", "type": "string", "maxLength": 25 }, "hidden": { "description": "Hides the specified field. This field is applicable for keys:\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n", "type": "boolean", "default": false }, "hiddenForInvoice": { "description": "Hides the field at invoice level. This field is applicable for keys:\n - discount\n - tax\n", "type": "boolean", "default": false }, "hiddenForItem": { "description": "Hides the field at invoice item level. This field is applicable for keys:\n - discount\n - tax\n", "type": "boolean", "default": false } } } }, "customRedirectUrls": { "type": "object", "description": "Object containing custom redirect URLs for different payment outcomes. Each property allows specifying a URL to which the customer will be redirected after a payment event.\n", "properties": { "paymentAccepted": { "type": "string", "maxLength": 500, "description": "URL to redirect the customer after a successful payment. If not provided, the default page and message will be shown." }, "paymentRejected": { "type": "string", "maxLength": 500, "description": "URL to redirect the customer after a payment is rejected. If not provided, the default page and message will be shown." }, "paymentPending": { "type": "string", "maxLength": 500, "description": "URL to redirect the customer after a payment is pending. If not provided, the default page and message will be shown." } } } } } }, "example": { "invoiceSettingsInformation": { "merchantLogo": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2", "merchantDisplayName": "string", "customEmailMessage": "string", "enableReminders": true, "headerStyle": { "fontColor": "#000001", "backgroundColor": "#FFFFFF" }, "deliveryLanguage": "fr-FR", "defaultCurrencyCode": "USD", "payerAuthenticationInInvoicing": "enable", "showVatNumber": false, "vatRegistrationNumber": "Inv1234", "shipTo": false, "phoneNumber": false, "email": false, "enableMerchantEmailNotifications": false, "customLabels": [ { "key": "billTo", "value": "Payee name" }, { "key": "companyName", "hidden": true }, { "key": "discount", "value": "Promo", "hiddenForItem": true }, { "key": "tax", "hiddenForInvoice": true, "hiddenForItem": true } ], "customRedirectUrls": { "paymentAccepted": "https://example.com/success", "paymentRejected": "https://example.com/fail", "paymentPending": "https://example.com/pending" } } } }, "createMerchantDefinedFieldDefinition_request": { "type": "object", "properties": { "fieldType": { "type": "string", "description": "Possible values:\n- text\n- select" }, "label": { "type": "string", "maxLength": 100 }, "customerVisible": { "type": "boolean", "default": false }, "textMinLength": { "type": "integer", "default": 0, "description": "Should be used only if fieldType = \"text\"" }, "textMaxLength": { "type": "integer", "default": 100, "description": "Should be used only if fieldType = \"text\"" }, "textDefaultValue": { "type": "string", "maxLength": 100, "description": "Should be used only if fieldType = \"text\"" }, "possibleValues": { "type": "string", "maxLength": 600, "description": "Should be mandatory and used only if fieldType = \"select\"" }, "readOnly": { "type": "boolean", "default": false }, "merchantDefinedDataIndex": { "type": "integer" } }, "required": [ "fieldType", "label", "merchantDefinedDataIndex" ], "example": { "fieldType": "Text", "label": "Cup", "customerVisible": "true", "readOnly": "false", "textMinLength": 1, "textMaxLength": 100, "textDefaultValue": "default text", "merchantDefinedDataIndex": 15 } }, "putMerchantDefinedFieldsDefinitions_request": { "type": "object", "properties": { "fieldType": { "type": "string", "description": "Possible values:\n- text\n- select" }, "label": { "type": "string", "maxLength": 100 }, "customerVisible": { "type": "boolean", "default": false }, "textMinLength": { "type": "integer", "default": 0, "description": "Should be used only if fieldType = \"text\"" }, "textMaxLength": { "type": "integer", "default": 100, "description": "Should be used only if fieldType = \"text\"" }, "textDefaultValue": { "type": "string", "maxLength": 100, "description": "Should be used only if fieldType = \"text\"" }, "possibleValues": { "type": "string", "maxLength": 600, "description": "Should be mandatory and used only if fieldType = \"select\"" }, "readOnly": { "type": "boolean", "default": false }, "merchantDefinedDataIndex": { "type": "integer" } }, "required": [ "fieldType", "label", "merchantDefinedDataIndex" ], "example": { "fieldType": "Text", "label": "Cup", "customerVisible": "true", "readOnly": "false", "textMinLength": 1, "textMaxLength": 100, "textDefaultValue": "default text", "merchantDefinedDataIndex": 15 } }, "createPaymentLink_request": { "type": "object", "required": [ "processingInformation", "purchaseInformation", "orderInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "properties": { "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n" } } } } }, "processingInformation": { "type": "object", "required": [ "linkType" ], "description": "Contains processing information, such as the type and collection details.", "properties": { "linkType": { "type": "string", "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n" }, "requestPhone": { "type": "boolean", "description": "Collect the payers phone number during the payment.", "default": false }, "requestShipping": { "type": "boolean", "description": "Collect the payers shipping address during the payment.", "default": false } } }, "purchaseInformation": { "type": "object", "required": [ "purchaseNumber" ], "description": "Contains link specific detail.", "properties": { "purchaseNumber": { "type": "string", "maxLength": 50, "description": "The purchase number" } } }, "orderInformation": { "type": "object", "required": [ "amountDetails", "lineItems" ], "description": "Contains all of the order-related fields, such as the amount and line item details.", "properties": { "amountDetails": { "type": "object", "required": [ "currency" ], "description": "Contains all of the amount-related fields.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "maxAmount": { "type": "string", "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page." }, "minAmount": { "type": "string", "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links." } } }, "lineItems": { "type": "array", "description": "List of the line items from the order.", "maxItems": 30, "items": { "type": "object", "required": [ "productName" ], "description": "Line item from the order.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "productDescription": { "maxLength": 2000, "type": "string", "description": "Brief description of item." }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount amount applied to the item. Maximum of 2 decimal places. You may provide either discountAmount or discountPercent (not both).\nIf both are present, their values must be consistent. Otherwise, a validation error will be returned.\n", "example": "10.00" }, "discountPercent": { "type": "string", "maxLength": 6, "description": "Discount rate applied to the item. Maximum of 3 decimal places. You may provide either discountAmount or discountPercent (not both).\nIf both are present, their values must be consistent; otherwise, a validation error will be returned.\nExample: 5.25 (=5.25%)\n", "example": "5.25" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Tax amount applied to the item. This value cannot be negative. Maximum of 2 decimal places. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive. If taxAmount is provided but taxRate is not, the taxRate will be calculated.\n", "example": "10.50" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item. Valid range: 1.001% to 99.999%. Maximum of 3 decimal places.\nIf a taxRate is provided but taxAmount is missing or incorrect, the taxAmount based on the given taxRate will be overwritten.\nExample: 21.00 (=21.00%)\n", "example": "21.00" } } } } } } }, "example": { "clientReferenceInformation": { "partner": { "developerId": "3435", "solutionId": "83745" } }, "processingInformation": { "linkType": "PURCHASE", "requestPhone": false, "requestShipping": false }, "purchaseInformation": { "purchaseNumber": "23412" }, "orderInformation": { "amountDetails": { "totalAmount": "12.05", "currency": "USD", "minAmount": "1" }, "lineItems": [ { "productName": "First line item's name", "productDescription": "First line item's description", "unitPrice": "12.05", "quantity": "10" } ] } } }, "updatePaymentLink_request": { "type": "object", "properties": { "status": { "type": "string", "description": "The status of the purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n" }, "clientReferenceInformation": { "type": "object", "properties": { "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n" } } } } }, "processingInformation": { "type": "object", "description": "Contains processing information, such as the type and collection details.", "properties": { "linkType": { "type": "string", "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n" }, "requestPhone": { "type": "boolean", "description": "Collect the payers phone number during the payment.", "default": false }, "requestShipping": { "type": "boolean", "description": "Collect the payers shipping address during the payment.", "default": false } } }, "purchaseInformation": { "type": "object", "description": "Contains link specific detail.", "properties": { "purchaseNumber": { "type": "string", "maxLength": 50, "description": "The purchase number" } } }, "orderInformation": { "type": "object", "required": [ "lineItems" ], "description": "Contains all of the order-related fields, such as the amount and line item details.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "maxAmount": { "type": "string", "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page." }, "minAmount": { "type": "string", "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links." } } }, "lineItems": { "type": "array", "description": "List of the line items from the order.", "maxItems": 30, "items": { "type": "object", "required": [ "productName" ], "description": "Line item from the order.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "productDescription": { "maxLength": 2000, "type": "string", "description": "Brief description of item." }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount amount applied to the item. Maximum of 2 decimal places. You may provide either discountAmount or discountPercent (not both).\nIf both are present, their values must be consistent. Otherwise, a validation error will be returned.\n", "example": "10.00" }, "discountPercent": { "type": "string", "maxLength": 6, "description": "Discount rate applied to the item. Maximum of 3 decimal places. You may provide either discountAmount or discountPercent (not both).\nIf both are present, their values must be consistent; otherwise, a validation error will be returned.\nExample: 5.25 (=5.25%)\n", "example": "5.25" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Tax amount applied to the item. This value cannot be negative. Maximum of 2 decimal places. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive. If taxAmount is provided but taxRate is not, the taxRate will be calculated.\n", "example": "10.50" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item. Valid range: 1.001% to 99.999%. Maximum of 3 decimal places.\nIf a taxRate is provided but taxAmount is missing or incorrect, the taxAmount based on the given taxRate will be overwritten.\nExample: 21.00 (=21.00%)\n", "example": "21.00" } } } } } } }, "example": { "status": "ACTIVE", "processingInformation": { "linkType": "PURCHASE", "requestPhone": false, "requestShipping": false }, "orderInformation": { "amountDetails": { "totalAmount": "12.05", "currency": "USD", "minAmount": "1" }, "lineItems": [ { "productName": "First line item's name", "productDescription": "First line item's description", "unitPrice": "12.05", "quantity": "20" } ] } } }, "searchUsers_request": { "type": "object", "properties": { "organizationId": { "type": "string", "description": "This is the orgId of the organization which the user belongs to.", "example": "merchantId" }, "userName": { "type": "string", "description": "User ID of the user you want to get details on.", "example": "userName" }, "roleId": { "type": "string", "description": "role of the user you are trying to search on.", "example": "custom" }, "permissionId": { "type": "string", "description": "permission that you are trying to search user on.", "example": "CustomerProfileViewPermission" } }, "example": { "organizationId": "merchantId", "userName": "userName", "role": "custom", "permissionId": "CustomerProfileViewPermission" } }, "calculateTax_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." } } }, "taxInformation": { "type": "object", "properties": { "reportingDate": { "type": "string", "maxLength": 8, "description": "Reporting date of transaction. Format: YYYYMMDD. Defaults to current date if not specified.\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "dateOverrideReason": { "type": "string", "maxLength": 50, "description": "If a past or future date is specified in `orderInformation.invoiceDetails.invoiceDate`, then provide the reason for that for audit purposes.\nTypical reasons include: 'Return', 'Layaway', 'Imported'.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "nexus": { "description": "Comma-separated list of states or provinces in which merchandise is taxable. Note merchandise may be still be non-taxable or tax exempt depending on the product taxability. Indicate the type of product you are selling in the product code field for product-level taxability rules to be applied. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.noNexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", "type": "array", "items": { "type": "string", "maxLength": 2 } }, "noNexus": { "description": "Comma-separated list of states or provinces where you do not have nexus. Check with a tax advisor to determine where your business has nexus. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province.\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.nexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", "type": "array", "items": { "type": "string", "maxLength": 2 } }, "showTaxPerLineItem": { "type": "string", "description": "Whether or not to display tax amounts for each line item. This field can contain one of the following values:\n- `Yes` - Display tax amounts for each line item\n- `No` (default) - Do not display tax amounts for each line item\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "commitIndicator": { "type": "boolean", "description": "Indicates whether this is a committed tax transaction. For a committed tax transaction, the status in the Tax Detail Report is \"Committed.\" For an uncommitted tax transaction, the status in the Tax Detail Report is \"Uncommitted.\" Possible values:\n- `true`: This is a committed tax transaction.\n- `false` (default): This is not a committed tax transaction.\n\nA committed tax request is a tax service request that sets the status field in the Tax Detail Report to committed.\nThe committed status indicates that the amount calculated by the tax service is included in the amount of a capture or credit.\n\nUse a void service request to cancel a committed tax request or a committed refund tax request. The void transaction is included as a separate entry in the Tax Detail Report. The value of the status field is cancelled. The value of the link ID is the request ID of the committed tax request or refund tax request that was voided. You can use the value of the link ID to reconcile your orders.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" }, "refundIndicator": { "type": "boolean", "description": "Indicates whether this is a refund tax transaction. For a refund tax transaction, amounts in the Tax Detail Report will be negative.\nPossible values:\n- `true`: This is a refund tax transaction.\n- `false` (default): This is not a refund tax transaction.\n\nA refund tax request is a tax service request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative.\nTax amounts are returned as positive amounts in reply messages, but they are saved in reports as negative amounts which enables the reporting software to accurately calculate the aggregate amounts.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the billing street address.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the billing street address.\n\n#### Tax Calculation\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Credit card billing city.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes only. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Credit card billing state or province.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\nIf the billing country is the U.S., the 9-digit postal code must follow this format:\n\n[5 digits][dash][4 digits]\n\n**Example**: 12345-6789\n\nIf the billing country is Canada, the 6-digit postal code must follow this format:\n\n[alpha][numeric][alpha] [numeric][alpha][numeric]\n\n**Example**: A1B 2C3\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Credit card billing country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\nIf `orderInformation.shipTo.country` is not provided, `orderInformation.billTo.country` is used in its place. If `orderInformation.billTo.country` is set to `US` or `CA`, then `orderInformation.billTo.postalCode` and `orderInformation.billTo.administrativeArea` are also required.\n\n#### Tax Calculation\nRequired for U.S., Canadian, international and value added taxes.\n" } } }, "shippingDetails": { "type": "object", "properties": { "shipFromLocality": { "type": "string", "maxLength": 50, "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromCountry": { "type": "string", "maxLength": 2, "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromAdministrativeArea": { "type": "string", "maxLength": 2, "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "shipTo": { "type": "object", "properties": { "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 3 }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 32, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "orderAcceptance": { "type": "object", "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "orderOrigin": { "type": "object", "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "shipFromCountry": { "type": "string", "maxLength": 2, "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "shipFromAdministrativeArea": { "type": "string", "maxLength": 2, "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromLocality": { "type": "string", "maxLength": 50, "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "buyerVatRegistrationNumber": { "type": "string", "maxLength": 25, "description": "Buyer's VAT registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "sellerVatRegistrationNumber": { "type": "string", "maxLength": 25, "description": "VAT seller registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" } } } }, "invoiceDetails": { "type": "object", "properties": { "invoiceDate": { "type": "string", "maxLength": 8, "description": "Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed.\nYou can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday.\n\nThe default is the date, in Pacific time, that the bank receives the request.\nKeep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" } } }, "orderAcceptance": { "type": "object", "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "orderOrigin": { "type": "object", "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" } } }, "buyerInformation": { "type": "object", "properties": { "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" } } } } }, "voidTax_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 59, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "description": "Brief description of the order or any comment you wish to add to the order." }, "partner": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" } } } } } } }, "postRegistration_request": { "type": "object", "properties": { "registrationInformation": { "type": "object", "properties": { "boardingRegistrationId": { "type": "string", "maxLength": 60, "example": "1234124", "readOnly": true }, "submitTimeUtc": { "type": "string", "format": "date-time", "example": "2019-06-11T22:47:57Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n", "readOnly": true }, "status": { "type": "string", "readOnly": true, "description": "The status of Registration request\nPossible Values:\n - 'PROCESSING': This status is for Registrations that are still in Progress, you can get the latest status by calling the GET endpoint using the Registration Id\n - 'SUCCESS': This status is for Registrations that were successfull on every step of the on boarding process.\n - 'FAILURE': This status is for Registrations that fail before the Organization was created; please refer to the details section in the reponse for more information.\n - 'PARTIAL': This status is for Registrations that created the Organization successfully but fail in at least on step while configuring it; please refer to the details section in the response for more information.\n" }, "boardingPackageId": { "type": "string", "maxLength": 60, "example": 1004001 }, "boardingFlow": { "type": "string", "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n" }, "mode": { "type": "string", "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n" }, "salesRepId": { "type": "string", "maxLength": 60, "example": "Rep1" } } }, "integrationInformation": { "type": "object", "properties": { "oauth2": { "type": "array", "items": { "type": "object", "properties": { "client_id": { "type": "string", "maxLength": 32, "example": "client123" }, "state": { "type": "string", "maxLength": 20, "example": "test123" } }, "required": [ "client_id" ] } }, "tenantConfigurations": { "type": "array", "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", "items": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "minLength": 8, "pattern": "^[0-9a-zA-Z_]+$", "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n", "example": "YumSolution1" }, "tenantInformation": { "type": "object", "properties": { "tenantId": { "type": "string", "maxLength": 50, "minLength": 1, "description": "The TenantId is an external Solution Identifier given by Tech Partners like SAP.", "example": "SAP123" } } } }, "required": [ "solutionId" ] } }, "msd": { "type": "object", "properties": { "customerId": { "type": "string", "maxLength": 15, "minLength": 1, "description": "The customerId is an external customer Identifier given by MSD (MS Dynamics).", "example": "C1234567890" } } } } }, "organizationInformation": { "type": "object", "properties": { "organizationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1" }, "parentOrganizationId": { "type": "string", "description": "This field is required for Organization Types: MERCHANT, TRANSACTING\n", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1-acct" }, "childOrganizations": { "readOnly": true, "type": "array", "items": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "transactional-org" } }, "type": { "type": "string", "description": "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n - 'TRANSACTING'\n - 'STRUCTURAL'\n - 'MERCHANT'\n" }, "status": { "type": "string", "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n" }, "configurable": { "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", "type": "boolean", "default": false, "example": false }, "businessInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "Betos Restaurant" }, "locale": { "type": "string", "pattern": "^(de-de|en-gb|en-us|es-es|es-us|fr-ca|fr-fr|it-it|ja-jp|pt-br|zh-cn|zh-tw)$", "example": "en-us" }, "localizedNames": { "type": "object", "properties": { "romaji": { "type": "string", "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&|\\[\\]\\,\\(\\)!$;:?@\\#\u00a1-\uffff]*$", "example": "tenmei" }, "katakana": { "type": "string", "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&|\\[\\]\\,\\(\\)!$;:?@\\#\u00a1-\uffff]*$", "example": "\u30b7\u30e7\u30c3\u30d7\u30cd\u30fc\u30e0" }, "japanese": { "type": "string", "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&|\\[\\]\\,\\(\\)!$;:?@\\#\u00a1-\uffff]*$", "example": "\u5e97\u540d" } } }, "doingBusinessAs": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "Betos Restaurant" }, "description": { "type": "string", "maxLength": 250, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\\n\\ra-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "International food Restaurant" }, "startDate": { "type": "string", "format": "date", "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$", "example": "2019-06-11", "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "address1": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "123 Fake st" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "apt 2" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of the billing address.", "example": "Bellevue" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$", "description": "State or province of the billing address. Required for United States and Canada.", "example": "WA" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "pattern": "^[0-9a-zA-Z ]*$", "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.", "example": 6470 } }, "required": [ "country", "address1", "locality" ] }, "timeZone": { "type": "string", "description": "Merchant perferred time zone\nPossible Values:\n- 'Pacific/Pago_Pago'\n- 'Pacific/Honolulu'\n- 'America/Anchorage'\n- 'America/Vancouver'\n- 'America/Los_Angeles'\n- 'America/Phoenix'\n- 'America/Edmonton'\n- 'America/Denver'\n- 'America/Winnipeg'\n- 'America/Mexico_City'\n- 'America/Chicago'\n- 'America/Bogota'\n- 'America/Indianapolis'\n- 'America/New_York'\n- 'America/La_Paz'\n- 'America/Halifax'\n- 'America/St_Johns'\n- 'America/Buenos_Aires'\n- 'America/Godthab'\n- 'America/Sao_Paulo'\n- 'America/Noronha'\n- 'Atlantic/Cape_Verde'\n- 'GMT'\n- 'Europe/Dublin'\n- 'Europe/Lisbon'\n- 'Europe/London'\n- 'Africa/Tunis'\n- 'Europe/Vienna'\n- 'Europe/Brussels'\n- 'Europe/Zurich'\n- 'Europe/Prague'\n- 'Europe/Berlin'\n- 'Europe/Copenhagen'\n- 'Europe/Madrid'\n- 'Europe/Budapest'\n- 'Europe/Rome'\n- 'Africa/Tripoli'\n- 'Europe/Monaco'\n- 'Europe/Malta'\n- 'Europe/Amsterdam'\n- 'Europe/Oslo'\n- 'Europe/Warsaw'\n- 'Europe/Stockholm'\n- 'Europe/Belgrade'\n- 'Europe/Paris'\n- 'Africa/Johannesburg'\n- 'Europe/Minsk'\n- 'Africa/Cairo'\n- 'Europe/Helsinki'\n- 'Europe/Athens'\n- 'Asia/Jerusalem'\n- 'Europe/Riga'\n- 'Europe/Bucharest'\n- 'Europe/Istanbul'\n- 'Asia/Riyadh'\n- 'Europe/Moscow'\n- 'Asia/Dubai'\n- 'Asia/Baku'\n- 'Asia/Tbilisi'\n- 'Asia/Calcutta'\n- 'Asia/Katmandu'\n- 'Asia/Dacca'\n- 'Asia/Rangoon'\n- 'Asia/Jakarta'\n- 'Asia/Saigon'\n- 'Asia/Bangkok'\n- 'Australia/Perth'\n- 'Asia/Hong_Kong'\n- 'Asia/Macao'\n- 'Asia/Kuala_Lumpur'\n- 'Asia/Manila'\n- 'Asia/Singapore'\n- 'Asia/Taipei'\n- 'Asia/Shanghai'\n- 'Asia/Seoul'\n- 'Asia/Tokyo'\n- 'Asia/Yakutsk'\n- 'Australia/Adelaide'\n- 'Australia/Brisbane'\n- 'Australia/Broken_Hill'\n- 'Australia/Darwin'\n- 'Australia/Eucla'\n- 'Australia/Hobart'\n- 'Australia/Lindeman'\n- 'Australia/Sydney'\n- 'Australia/Lord_Howe'\n- 'Australia/Melbourne'\n- 'Asia/Magadan'\n- 'Pacific/Norfolk'\n- 'Pacific/Auckland'\n", "example": "America/Chicago" }, "websiteUrl": { "type": "string", "maxLength": 100, "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac\u009d\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", "example": "www.test.com" }, "type": { "type": "string", "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n" }, "taxId": { "type": "string", "maxLength": 9, "pattern": "\\d{9}", "example": 254324 }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4564561234 }, "businessContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "technicalContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "emergencyContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "merchantCategoryCode": { "type": "string", "maxLength": 4, "pattern": "^\\d{3,4}$", "example": 5300, "description": "Industry standard Merchant Category Code (MCC)" } }, "required": [ "name" ] }, "KYC": { "type": "object", "properties": { "whenIsCustomerCharged": { "type": "string", "example": "ONETIMEBEFORE", "description": "Possible values:\n- ONETIMEBEFORE\n- ONETIMEAFTER\n- OTHER" }, "whenIsCustomerChargedDescription": { "type": "string", "maxLength": 100 }, "offerSubscriptions": { "type": "boolean", "example": true }, "monthlySubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 30 }, "quarterlySubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 20 }, "semiAnnualSubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 50 }, "annualSubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 100 }, "timeToProductDelivery": { "type": "string", "description": "Possible values:\n- INSTANT\n- UPTO2\n- UPTO5\n- UPTO10\n- GREATERTHAN10" }, "estimatedMonthlySales": { "type": "number", "format": "currency", "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", "example": 10000.5 }, "averageOrderAmount": { "type": "number", "format": "currency", "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", "example": 50.5 }, "largestExpectedOrderAmount": { "type": "number", "format": "currency", "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", "example": 100.5 }, "depositBankAccount": { "type": "object", "properties": { "accountHolderName": { "type": "string", "maxLength": 40, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John Doe" }, "accountType": { "type": "string", "example": "checking", "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings" }, "accountRoutingNumber": { "type": "string", "maxLength": 9, "pattern": "\\d{9}" }, "accountNumber": { "type": "string", "maxLength": 17, "pattern": "^\\d{5,17}$" } }, "required": [ "accountHolderName", "accountType", "accountRoutingNumber", "accountNumber" ] } }, "required": [ "whenIsCustomerCharged", "offerSubscriptions", "timeToProductDelivery", "estimatedMonthlySales", "averageOrderAmount", "largestExpectedOrderAmount" ] }, "owners": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "birthDate": { "type": "string", "format": "date", "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$", "example": "2016-08-11", "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n" }, "isPrimary": { "type": "boolean", "description": "Determines whether the owner is the Primary owner of the organization", "example": true }, "ssn": { "type": "string", "maxLength": 12, "pattern": "^\\d{3}-\\d{2}-\\d{4}$|^\\d{9,9}$", "example": 123456789, "description": "Social Security Number" }, "passportNumber": { "type": "string", "maxLength": 12, "pattern": "^(?!^0+$)[a-zA-Z0-9]{3,20}$", "example": "1234556", "description": "Passport number" }, "passportCountry": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "jobTitle": { "type": "string", "maxLength": 100, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "Director" }, "hasSignificantResponsability": { "type": "boolean", "description": "Determines whether owner has significant responsibility to control, manage or direct the company", "example": true }, "ownershipPercentage": { "type": "number", "pattern": "^[0-9]$|^[1-9][0-9]$|^(100)$", "description": "Determines the percentage of ownership this owner has. For the primary owner the percentage can be from 0-100; for other owners the percentage can be from 25-100 and the sum of ownership accross owners cannot exceed 100", "example": 25 }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "address1": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "123 Fake st" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "apt 2" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of the billing address.", "example": "Bellevue" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$", "description": "State or province of the billing address. Required for United States and Canada.", "example": "WA" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "pattern": "^[0-9a-zA-Z ]*$", "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.", "example": 6470 } }, "required": [ "country", "address1", "locality" ] } }, "required": [ "firstName", "lastName", "birthDate", "jobTitle", "hasSignificantResponsability", "ownershipPercentage", "phoneNumber", "email", "address", "isPrimary" ] } } }, "required": [ "businessInformation" ] }, "productInformation": { "type": "object", "properties": { "selectedProducts": { "type": "object", "properties": { "payments": { "title": "paymentsProducts", "type": "object", "properties": { "cardProcessing": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" }, "features": { "type": "object", "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n
cardPresent
cardNotPresent
\n", "additionalProperties": { "x-devcenter-additional-properties": [ "cardPresent", "cardNotPresent" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "CardProcessingConfig", "properties": { "common": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpngsapv3\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpngsapv3", "gpx", "smartfdc", "tsys", "vero", "VPC" ], "type": "object", "properties": { "batchGroup": { "type": "string", "description": "Determines the batching group that separates merchants for special batching times. Batching groups can separate merchant batches by the following criteria:\n\n* Timezone\n* Merchant deadlines\n* Large merchants (top 10)\n* Merchants with Service-Level Agreements\n\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), Streamline (streamline2), Six (six), Barclays (barclays2), Paymentech Tampa (paymentechtampa), CMCIC (cmcic), FDC Nashville (smartfdc), RUPAY, American Express Direct (amexdirect), GPN (gpn), VPC, GPX (gpx), CB2A, Barclays HISO (barclayshiso), TSYS (tsys) and FDI Global (fdiglobal) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridYes
Barclays HISOcnp, cp, hybridYes
American Express Directcnp, cp, hybridNo
\n" }, "businessApplicationId": { "type": "string", "description": "Indicates the type of money transfer used in the transaction. Applicable for VPC and GPX (gpx) processors." }, "merchantVerificationValue": { "type": "string", "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. Applicable for GPX (gpx) and VPC processors." }, "abaNumber": { "type": "string", "description": "Routing Number to identify banks within the United States. Applicable for GPX (gpx) processors." }, "acquirer": { "type": "object", "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", "properties": { "institutionId": { "type": "string", "description": "Identifier of the acquirer. This number is usually assigned by Visa.\nApplicable for VPC, GPX (gpx), CMCIC (cmcic), EFTPOS, CB2A, CUP, American Express Direct (amexdirect) and Six (six) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express Directcnp, cp, hybridYes113^[0-9]+$1111
\n" }, "interbankCardAssociationId": { "type": "string", "description": "Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors." }, "discoverInstitutionId": { "type": "string", "description": "Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors." }, "unionPayInstitutionId": { "type": "string", "description": "Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors." }, "dinersClubInstitutionId": { "type": "string", "description": "Assigned by Diners Club to identify the acquirer. Applicable for VPC processors." }, "countryCode": { "type": "string", "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." }, "fileDestinationBin": { "type": "string", "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." } } }, "acquirers": { "type": "object", "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", "additionalProperties": { "properties": { "institutionId": { "type": "string", "description": "Identifier of the acquirer. This number is usually assigned by Visa." }, "interbankCardAssociationId": { "type": "string", "description": "Number assigned by MasterCard to banks to identify the member in transactions." }, "discoverInstitutionId": { "type": "string", "description": "Assigned by Discover to identify the acquirer." }, "countryCode": { "type": "string", "description": "ISO 4217 format." }, "fileDestinationBin": { "type": "string", "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN." }, "merchantVerificationValue": { "type": "string", "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant." }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "allowMultipleBills": { "type": "boolean", "description": "Allows multiple captures for a single authorization transaction.\n" }, "enableTransactionReferenceNumber": { "type": "boolean", "description": "To enable merchant to send in transaction reference number (unique reconciliation ID)." }, "paymentTypes": { "type": "object", "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", "additionalProperties": { "x-devcenter-additional-properties": [ "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DINERS_CLUB", "JCB", "PIN_DEBIT", "JAYWAN" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } } } } } }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } } } } } }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcnp, hybridYes116^[0-9a-zA-Z]+$
Barclays HISOcpNo116^[0-9a-zA-Z]+$
\n" }, "paymentTypes": { "type": "object", "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", "additionalProperties": { "x-devcenter-additional-properties": [ "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DINERS_CLUB", "JCB", "PIN_DEBIT", "JAYWAN" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } } } } } }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" }, "merchantId": { "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" }, "terminalId": { "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscp, cnp, hybridYes88^[0-9]+$
\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcp, cnp, hybridYes1010^[0-9]+$
\n" } } } }, "visaAggregatorId": { "type": "string", "description": "This field is used as aggregator Id when Visa payment type is selected" }, "amexAggregatorId": { "type": "string", "description": "This field is used as aggregator Id when Amex payment type is selected" }, "masterCardAggregatorId": { "type": "string", "description": "This field is used as aggregator Id when Master Card payment type is selected" }, "sicCode": { "type": "string", "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." }, "allowMultipleBills": { "type": "boolean", "description": "Allows multiple captures for a single authorization transaction.\nApplicable for Paymentech Tampa (paymentechtampa), VPC, American Express Direct (amexdirect) and GPX (gpx) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, hybridYesNo
American Express DirectcnpNoNo
\n" }, "allowMerchantDescriptorOverride": { "type": "boolean", "description": "Enables partner to enable/disable merchant descriptors values. Applicable for VPC, EFTPOS and CUP processors." }, "enhancedData": { "type": "string", "description": "To enable airline transactions.\nApplicable for TSYS (tsys), VPC, Elavon Americas (elavonamericas), FDI Global (fdiglobal), GPX (gpx), Barclays (barclays2) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridNo
American Express Directcp, cnp, hybridNo
\n" }, "fireSafetyIndicator": { "type": "boolean", "description": "Indicates whether the merchant is compliant with Hotel and Motel Fire Safety Act of 1990. Applicable for GPX (gpx) and VPC processors." }, "quasiCash": { "type": "boolean", "description": "To enable quasi-cash transactions. A quasi-cash transaction is a cash-like transaction for the sale of items that are directly convertible to cash, such as:-\nCasino gaming chips,\nMoney orders,\nWire transfers.\n\nApplicable for GPX (gpx), TSYS (tsys), Barclays (barclays2) and VPC processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoNo
\n" }, "acquirerMerchantId": { "type": "string", "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." }, "avsFormat": { "type": "string", "description": "Enables Enhanced AVS/Automated Address Verification Plus (AAV+).\n\nValid values:\n\"basic\" - Standard address verification system.\n When a processor supports AVS for a transaction's card type, the issuing bank uses AVS to confirm that the customer has provided the correct billing address.\n When a customer provides incorrect information, the transaction might be fraudulent.\n\"basic + name\" - Enhanced address verification system.\n Consists of the standard AVS functionality plus verification of some additional fields.\n The additional fields that are verified for Enhanced AVS are:\n - customer_firstname\n - customer_lastname\n\"basic + name + shipto\" - Automated address verification plus.\n Consists of the Enhanced AVS functionality plus verification of some additional fields.\n AAV+ intended for merchants who deliver physical goods to a different address than the billing address.\n AAV+ verifies the additional fields only when the standard and Enhanced AVS tests pass first.\n For information about Enhanced AVS - The additional fields that are verified for AAV+ are:\n - ship_to_firstname\n - ship_to_lastname\n - ship_to_address1\n - ship_to_country\n - ship_to_zip\n - ship_to_phone\n - customer_phone(American Express Direct only)\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridYesbasic
\n" }, "enableLongTransRefNo": { "type": "boolean", "description": "Amex Direct specific merchant config value which determines what length (either 9 or Unique 12-char reference number) of reference number will be CYBS generated if the merchant does not pass in a trans_ref_no.\nCan be any combination of alpha, numeric and special characters, and/or binary data in hexadecimal.\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableLevel2": { "type": "boolean", "description": "Field that indicates whether merchant will send level 2 data for Amex cards.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableMultipleTransactionAdviceAddendum": { "type": "boolean", "description": "This flag related to multiple transaction advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "amexTransactionAdviceAddendum1": { "type": "string", "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo140^[0-9a-zA-Z\-\\s.]+$
\n" }, "enableMultiLineItems": { "type": "boolean", "description": "This flag is related to offer/line item details to be included instead of sending one line item, and a grand total. Example, offer0, offer 1...offer n.\nApplicable for American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableTransactionReferenceNumber": { "type": "boolean", "description": "To enable merchant to send in transaction reference number (unique reconciliation ID). Applicable for VPC, Vero (vero), FDI Global (fdiglobal), Six (six), CB2A, CUP, VPC, Chase Paymentech Salem (chasepaymentechsalem), Fiserv (fiserv), Elavon Americas (elavonamericas) and EFTPOS processors." }, "enableAutoAuthReversalAfterVoid": { "type": "boolean", "description": "Enables to meet the Visa mandate requirements to reverse unused authorizations, benefitting the customer by releasing the hold on unused credit card funds.\nApplicable for CB2A, Elavon Americas (elavonamericas), Six (six), VPC and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableExpresspayPanTranslation": { "type": "boolean", "description": "When this is enabled, authorization responses from American Express expresspay transactions include the Primary Account Number (PAN) and expiration date of the card. Applicable for American Express Direct (amexdirect) processor." }, "enableCreditAuth": { "type": "boolean", "description": "Authorizes a credit. Reduces refund chargebacks and prevents customers from seeing the online update for credits which are otherwise offline settlements." }, "industryCode": { "type": "string", "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n \nPossible values:\n- 0\n- A\n- B\n- D\n- F\n- G\n- H\n- L\n- O\n- P\n- R" }, "sendAmexLevel2Data": { "type": "boolean", "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." }, "softDescriptorType": { "type": "string", "description": "A soft descriptor is a text, rendered on a cardholder's statement, describing a particular product or service, purchased by the cardholder.\nDescriptors are intended to help the cardholder identify the products or services purchased.\nValid values:\n`1` - trans_ref_no\n`2` - merchant_descriptor\n`3` - trans_ref_no and merchant_descriptor\nApplicable for TSYS (tsys) processor.\n" }, "vitalNumber": { "type": "string", "description": "V-number provided by TSYS info. The leading `V` must be replaced by a `7`. For example, replace `V1234567` with `71234567`. Applicable for TSYS (tsys) processor." }, "bankNumber": { "type": "string", "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." }, "chainNumber": { "type": "string", "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." }, "merchantBinNumber": { "type": "string", "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." }, "merchantLocationNumber": { "type": "string", "description": "5 digit merchant location number. Unless otherwise specified by merchant's bank or processor, this field should default to 00001. Applicable for TSYS (tsys) processor." }, "storeID": { "type": "string", "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." }, "travelAgencyCode": { "type": "string", "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." }, "travelAgencyName": { "type": "string", "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." }, "settlementCurrency": { "type": "string", "description": "This field is used to indicate Merchant's settlement currency. [ISO 4217 ALPHA-3 Standard Currency Codes] Applicable for TSYS (tsys) and Streamline (streamline2) processors." }, "enableLeastCostRouting": { "type": "boolean", "description": "Indicates whether Least Cost Routing is enabled. Applicable for EFTPOS and CUP processors." }, "enableCVVResponseIndicator": { "type": "boolean", "description": "This field denotes EFTPOS Merchant's choice of receiving CVV Processing Response in return. Applicable for EFTPOS processors." }, "enableMultiCurrencyProcessing": { "type": "string", "description": "Applicable for Barclays (barclays2) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoYes
\n" }, "transactionTypeIdentifier": { "type": "string", "maxLength": 3, "minLength": 1, "pattern": "^[0-9a-zA-Z]+$", "description": "Transaction Type Identifier (TTI) field for Mastercard AFT transactions. Maps to ISO field F104.65.32. Used to ensure compliance with Mastercard's requirements for money send transactions when wallet classifications differ between Visa and Mastercard schemes. Takes priority over BAI values for Mastercard AFT transactions when present." }, "subMerchantId": { "type": "string", "maxLength": 55, "minLength": 1, "pattern": "^[0-9a-zA-Z\\_\\s]+$", "description": "The Sub merchant ID, sometimes referred to as the 'Seller ID' is generally used and *required for Aggregators and OptBlue participants. The 'Sub Merchant' is the Merchant whose transactions are submitted by a payment aggregator." }, "subMerchantEmail": { "type": "string", "maxLength": 255, "minLength": 0, "pattern": "^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,70})\\.([a-zA-Z]{2,6}(?:\\.[a-zA-Z]{2})?)$", "description": "Sub Merchant Email of the Payment Facilitator's, OptBlue Participant" }, "subMerchantPhoneNumber": { "type": "string", "maxLength": 12, "minLength": 1, "pattern": "^[0-9a-zA-Z]+$", "description": "Sub Merchant Phone Number of the Payment Facilitator's, OptBlue Participant's" }, "enablePosNetworkSwitching": { "type": "boolean", "description": "'POS Network Switching' or 'Alternate Routing' means merchant can process PIN Debit transactions without a PIN. Set the value to 'Yes' if it is supported. Applicable for FDI Global (fdiglobal) processor." }, "enableDynamicCurrencyConversion": { "type": "boolean", "description": "Enable dynamic currency conversion for a merchant." }, "merchantTier": { "type": "string", "maxLength": 3, "minLength": 3, "pattern": "^[0-9]+$", "description": "Merchant Tier defines the type of merchant, the numeric Merchant Tier value is allocated by EFTPOS. Applicable for EFTPOS processors." } }, "required": [ "merchantId" ] } }, "amexVendorCode": { "type": "string", "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." }, "defaultAuthTypeCode": { "type": "string", "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n \nPossible values:\n- PRE\n- FINAL\n- UNDEFINED" }, "masterCardAssignedId": { "type": "string", "description": "MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors." }, "enablePartialAuth": { "type": "boolean", "description": "Allow merchants to accept partial authorization approvals.\nApplicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridNoNo
\n" }, "merchantCategoryCode": { "type": "string", "description": "Indicates type of business product or service of the merchant.\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
BarclayscnpNo44^[0-9]+$
American Express Directcnp, cp, hybridYes44^[0-9]+$
\n" }, "sicCode": { "type": "string", "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." }, "foodAndConsumerServiceId": { "type": "string", "description": "Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor." }, "enableSplitShipment": { "type": "boolean", "description": "Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios:\n\n* multiple authorizations\n* multiple captures\n* multiple authorizations with multiple captures\n\nApplicable for VPC processors.\n" }, "enableInterchangeOptimization": { "type": "boolean", "description": "Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors." }, "visaDelegatedAuthenticationId": { "type": "string", "description": "Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors." }, "creditCardRefundLimitPercent": { "type": "string", "description": "Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "businessCenterCreditCardRefundLimitPercent": { "type": "string", "description": "Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors." }, "allowCapturesGreaterThanAuthorizations": { "type": "boolean", "description": "Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "enableDuplicateMerchantReferenceNumberBlocking": { "type": "boolean", "description": "Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "domesticMerchantId": { "type": "boolean", "description": "This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors." }, "processLevel3Data": { "type": "string", "description": "Indicates whether merchant processes Level 3 transactions.\nApplicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
BarclayscnpNo
\n" }, "subMerchantId": { "type": "string", "description": "The ID assigned to the sub-merchant.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo120^[0-9a-zA-Z\-\_\,\\s.]+$
\n" }, "subMerchantBusinessName": { "type": "string", "description": "Sub-merchant's business name.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo137^[0-9a-zA-Z\-\_\,\\s.]+$
\n" }, "preferCobadgedSecondaryBrand": { "type": "boolean", "description": "It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors." }, "merchantDescriptorInformation": { "type": "object", "description": "A merchant descriptor is the line of copy that identifies transactions on a cardholder's account activity and statement. If this information is not populated, the data will be retrieved from OMS.", "properties": { "name": { "type": "string", "description": "Applicable for TSYS (tsys), RUPAY, American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" }, "city": { "type": "string", "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes121^[0-9a-zA-Z\\s]+$
\n" }, "country": { "type": "string", "description": "Applicable for Six (six), Elavon Americas (elavonamericas), TSYS (tsys) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes33^[A-Z]+$
\n" }, "phone": { "type": "string", "description": "Applicable for RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes120^[0-9a-zA-Z\\s]+$
\n" }, "state": { "type": "string", "description": "Applicable for RUPAY, TSYS (tsys), Elavon Americas (elavonamericas) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo13^[A-Z]+$
\n" }, "street": { "type": "string", "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" }, "zip": { "type": "string", "description": "Applicable for Elavon Americas (elavonamericas), RUPAY, American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes115^[0-9a-zA-Z\\s]+$
\n" }, "url": { "type": "string", "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" }, "countryOfOrigin": { "type": "string", "description": "Country Cf Origin of merchant is applicable for VPC Processors and is dependent on governmentControlled attribute." } } }, "acquirerAgreement": { "type": "object", "description": "Contains information about the acquirer agreement. The payload will have acquirerCode (example \"Sumitomo\") and its object containing all the acquirerAgreement fields.", "properties": { "acquirerCode": { "type": "object", "description": "Contains the specific configuration details for an acquirer.", "properties": { "acquirerAccountId": { "type": "string", "description": "Account number for the acquirer." }, "summerBonusStartDate": { "type": "string", "description": "Bonus start date for the summer period." }, "summerBonusEndDate": { "type": "string", "description": "Bonus end date for the summer period." }, "summerBonusMonth": { "type": "string", "description": "Bonus month for the summer period ." }, "winterBonusStartDate": { "type": "string", "description": "Bonus start date for the winter period." }, "winterBonusEndDate": { "type": "string", "description": "Bonus end date for the winter period." }, "winterBonusMonth": { "type": "string", "description": "Bonus month for the winter period ." }, "numberOfInstallments": { "type": "string", "description": "Comma-separated list of the number of installments." }, "paymentModes": { "type": "string", "description": "Comma-separated list of payment modes." }, "numberOfInstallmentPayments": { "type": "string", "description": "Comma-separated list of the number of installment payments." }, "numberOfIntegratedInstallments": { "type": "string", "description": "Comma-separated list of the number of integrated installments." }, "numberOfBonusPayments": { "type": "string", "description": "Comma-separated list of the number of bonus payments." }, "centerName": { "type": "string", "description": "Center name provided by the acquirer." }, "fbnIdentificationFlag": { "type": "string", "description": "FBN (For Benefit Of) Identification flag." }, "retailSupported": { "type": "boolean", "description": "Indicates if retail transactions are supported." }, "paymentOptions": { "type": "object", "properties": { "jpPaymentOptionType": { "type": "array", "items": { "type": "string" }, "description": "An array of Japan-specific payment options." } } } } } } }, "governmentControlled": { "type": "boolean", "description": "Indicates whether the merchant is government controlled. Applicable for VPC processors." }, "dropBillingInfo": { "type": "boolean", "description": "This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request." } } }, "features": { "type": "object", "properties": { "cardNotPresent": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpx", "smartfdc", "tsys", "VPC" ], "type": "object", "properties": { "relaxAddressVerificationSystem": { "type": "boolean", "description": "Enables you to submit the payment transaction without one or more of the fields for the billTo or card_expiration.\nApplicable for Elavon Americas (elavonamericas), CB2A, Six (six), CMCIC (cmcic), GPX (gpx), GPN (gpn), VPC, Vero (vero), Fiserv (fiserv), American Express Direct (amexdirect), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, FDI Global (fdiglobal) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express DirectcnpNoNo
American Express DirectcpNoYes
American Express DirecthybridYesYes
\n" }, "relaxAddressVerificationSystemAllowZipWithoutCountry": { "type": "boolean", "description": "Allows Zip code without country.\nApplicable for American Express Direct (amexdirect), GPX (gpx), VPC, FDI Global (fdiglobal), Elavon Americas (elavonamericas), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, GPN (gpn) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, bothNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" }, "relaxAddressVerificationSystemAllowExpiredCard": { "type": "boolean", "description": "Allows transactions that use an expired card.\nApplicable for American Express Direct (amexdirect), GPN (gpn), Barclays HISO (barclayshiso), Elavon Americas (elavonamericas), VPC, FDI Global (fdiglobal), GPX (gpx), RUPAY, Six (six), Chase Paymentech Salem (chasepaymentechsalem) and CB2A processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" }, "enableEmsTransactionRiskScore": { "type": "boolean", "description": "MasterCard Expert Monitoring Solutions (EMS) provides a predictive, behavior-based fraud score in real time during authorizations for card-not-present (CNP) transactions on cards issued in the U.S. Applicable for GPX (gpx) and VPC processors." }, "prestigiousPropertyIndicator": { "type": "string", "description": "Applicable for VPC processors." }, "payouts": { "type": "object", "properties": { "reimbursementCode": { "type": "string", "description": "Applicable for VPC processors." }, "acquiringInstitutionId": { "type": "string", "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant. This number is usually a Visa-assigned. Applicable for VPC processors." }, "businessApplicationId": { "type": "string", "description": "Transaction type. List of supported identifiers documented in the Developer Guide. Applicable for GPX (gpx) and VPC processors." }, "financialInstitutionId": { "type": "string", "description": "Applicable for GPX (gpx) and VPC processors." }, "merchantAbaNumber": { "type": "string", "description": "Routing Number to identify banks within the United States. Applicable for VPC processors." }, "networkOrder": { "type": "string", "description": "Order of the networks in which Visa should make routing decisions. Applicable for VPC processors." }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } }, "example": { "USD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "merchantId", "terminalIds": [ "12345678", "12345678" ], "serviceEnablementNumber": "serviceEnablementNumber" } } }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo111^[0-9]+$
\n" }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo1255^[0-9:\-]+$
\n" } } } } } }, "ignoreAddressVerificationSystem": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives an AVS decline. Applicable for VPC, FDI Global (fdiglobal), GPX (gpx) and GPN (gpn) processors." }, "visaStraightThroughProcessingOnly": { "type": "boolean", "description": "Indicates if a merchant is enabled for Straight Through Processing - B2B invoice payments. Applicable for FDI Global (fdiglobal), TSYS (tsys), VPC and GPX (gpx) processors." }, "amexTransactionAdviceAddendum1": { "type": "string", "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement. Applicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors." }, "installment": { "type": "object", "properties": { "enableInstallment": { "type": "boolean", "description": "This flag is to enable for installment plan programs.\nApplicable for Fiserv (fiserv), Vero (vero) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express DirectcnpNoNo
\n" }, "installmentPlan": { "type": "string", "description": "This indicates the type of funding for the installment plan associated with the payment.\n\nValid values:\n\"merchant\" - Merchant-funded installment plan\n\"issuer\" - Issuer-funded installment plan\n\nApplicable for Fiserv (fiserv), American Express Direct (amexdirect) and Vero (vero) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
American Express DirectcnpNo
\n" } } } } }, "cardPresent": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpx", "smartfdc", "tsys", "VPC" ], "type": "object", "properties": { "defaultPointOfSaleTerminalId": { "type": "string", "description": "Default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC, GPX (gpx), American Express Direct (amexdirect) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express DirectcpYes48^[0-9a-zA-Z]+$1111
\n" }, "pointOfSaleTerminalIds": { "type": "array", "items": { "type": "string", "format": "csv" }, "description": "For retail transactions, if merchant chooses to send the terminal id in the API, then that value has to be validated before being used. Holds a comma separated list of all possible terminal ids that the merchant is likely to send. Applicable for VPC processors." }, "disablePointOfSaleTerminalIdValidation": { "type": "boolean", "description": "Disables terminal ID validation. Applicable for VPC processors." }, "pinDebitNetworkOrder": { "type": "string", "description": "Order of the networks in which Visa should make routing decisions. Applicable for GPX (gpx) and VPC processors." }, "pinDebitReimbursementCode": { "type": "string", "description": "This attribute requests VIP to qualify a given PIN Debit transaction for a certain type of interchange program. Y = SMS supermarket, Z = SMS general merchant. Applicable for GPX (gpx) and VPC processors." }, "financialInstitutionId": { "type": "string", "description": "Acquirer Institution ID for the PIN Debit Transactions. Applicable for GPX (gpx) and VPC processors." }, "enablePinTranslation": { "type": "boolean", "description": "Enables CyberSource PIN Translation for Online PIN Transactions. Please ensure you have exchanged PIN keys with CyberSource to use this feature. Applicable for VPC processors." } } } }, "enableTerminalIdLookup": { "type": "boolean", "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor." } } } } } } } } } } }, "alternativePaymentMethods": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "merchantCategoryCode": { "type": "string", "description": "Merchant Category Code (MCC) is a four-digit number assigned to a business by credit card companies\nwhen the business first starts accepting credit cards as a form of payment. The MCC is used to\nclassify the business by the type of goods or services it provides.\n" }, "processors": { "type": "object", "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
klarna
payPal
alipay
bancontact
giropay
ideal
\n", "additionalProperties": { "type": "object", "description": "Processor configuration for the product.\n", "properties": { "paymentMethods": { "type": "object", "description": "Payment methods supported by the processor. The following values are supported:\n- klarna\n- CREDIT_CARD\n- DEBIT_CARD\n", "additionalProperties": { "type": "object", "description": "Payment method configuration for the product.\n", "properties": { "merchantId": { "type": "string", "description": "Merchant ID for the payment method. This is a unique identifier for the merchant.\nexample. mid12345678\n" }, "logoUrl": { "type": "string", "description": "URL of the logo for the payment method. This is used for branding purposes.\nexample: http://www.test.com\n" }, "redirectSuccessUrl": { "type": "string", "description": "URL to redirect to after a successful transaction. This is where the user will be sent after completing the payment.\nexample: http://www.test.com/success\n" }, "redirectCancelUrl": { "type": "string", "description": "URL to redirect to if the user cancels the transaction. This is where the user will be sent if they choose to cancel the payment.\nexample: http://www.test.com/cancel\n" }, "redirectFailureUrl": { "type": "string", "description": "URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process.\nexample: http://www.test.com/failure\n" }, "underwriting": { "title": "underwritingConfiguration", "type": "object", "description": "Underwriting configuration containing the complete VMES (Visa Merchant Evaluation Service) payload for merchant risk evaluation.\n", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "clientRequestId": { "description": "client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request.\n", "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1" }, "applicationName": { "type": "string", "maxLength": 50, "description": "The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. \n", "minLength": 1, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1" } } }, "merchantApplication": { "type": "object", "required": [ "products" ], "properties": { "applicationId": { "type": "string", "readOnly": true }, "applicationStatus": { "type": "string", "readOnly": true }, "products": { "description": "The product(s) that are being underwritten", "type": "array", "items": { "type": "object", "required": [ "productShortName" ], "properties": { "productShortName": { "description": "Product Name\n[PRODUCT1, PRODUCT2, PRODUCT3]\n", "type": "string", "pattern": "^[a-zA-Z0-9-]{1,30}$" }, "preferredAcquirer": { "description": "Override Acquirer Value", "type": "string", "maxLength": 30, "pattern": "^[a-zA-Z0-9-_]$" }, "status": { "readOnly": true, "description": "Product status\n[]\n", "type": "string" } } } }, "campaignId": { "description": "Driver Campaign ID, identifies where the application came from", "type": "string" }, "ocId": { "description": "Offer CampaignID, used by Sales", "type": "string" }, "resellerId": { "description": "ResellerID, used by Sales", "type": "string", "maxLength": 128 } } }, "metadata": { "type": "object" }, "metadataExternal": { "type": "object" }, "organizationInformation": { "type": "object", "properties": { "parentOrganizationId": { "type": "string", "minLength": 6, "maxLength": 30, "pattern": "^[0-9a-zA-Z_]+$", "description": "Parent Organization ID for the application" }, "organizationId": { "type": "string", "minLength": 6, "maxLength": 30, "pattern": "^[0-9a-zA-Z_]+$", "description": "Organization ID for the application" }, "boardingPackageId": { "type": "string", "maxLength": 60, "description": "Boarding Package ID for the application" }, "businessInformation": { "type": "object", "required": [ "businessIdentifier", "countryRegistration", "legalName", "doingBusinessAs", "businessDescription", "startDate", "merchantCategoryCode", "businessType", "countryPhoneNumber", "phoneNumber", "email" ], "properties": { "businessIdentifier": { "type": "string", "maxLength": 20, "pattern": "^[a-zA-Z0-9]*$", "description": "Tax ID for the business" }, "countryRegistration": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country where the business is registered. Two character country code, ISO 3166-1 alpha-2." }, "legalName": { "type": "string", "minLength": 1, "maxLength": 60, "description": "The legally registered name of the business" }, "doingBusinessAs": { "type": "string", "maxLength": 60, "description": "The DBA of the business." }, "businessDescription": { "type": "string", "maxLength": 250, "description": "Short description of the Business" }, "registrationNumber": { "type": "string", "maxLength": 60, "description": "Registration ID for Enterprise Merchant" }, "stockExchange": { "type": "string", "maxLength": 60, "description": "Which stock exchange is the company trading in?" }, "tickerSymbol": { "type": "string", "maxLength": 10, "pattern": "^[a-zA-Z0-9_.]*$", "description": "Stock Symbol on the exchange" }, "startDate": { "type": "string", "format": "date", "description": "When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" }, "merchantCategoryCode": { "type": "string", "maxLength": 4, "pattern": "^\\d{3,4}$", "description": "Industry standard Merchant Category Code (MCC)" }, "mccDescription": { "type": "string", "maxLength": 128, "description": "MCC Description" }, "websiteURL": { "type": "string", "maxLength": 100, "description": "Website for the Business" }, "businessType": { "type": "string", "description": "Business type \nPossible values:\n- PARTNERSHIP\n- SOLE_PROPRIETORSHIP\n- CORPORATION\n- LLC\n- NON_PROFIT\n- TRUST" }, "localMCC": { "type": "array", "items": { "type": "string" } }, "countryPhoneNumber": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2." }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "description": "Business Phone Number" }, "email": { "type": "string", "maxLength": 100, "description": "Business Email Address" }, "whatYourCompanyDoes": { "type": "string", "maxLength": 500, "description": "What your company does and how you market your service" }, "address": { "type": "object", "required": [ "country", "address1", "locality", "administrativeArea", "postalCode" ], "properties": { "country": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." }, "address1": { "type": "string", "minLength": 1, "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Business street address" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Business street address continued" }, "buildingName": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Building Name" }, "locality": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "City of the billing address" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "Business state (US) or province (Canada, others). Required for US and Canada." }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." } } }, "tradingAddress": { "type": "object", "properties": { "country": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." }, "address1": { "type": "string", "minLength": 1, "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Business street address" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Business street address continued" }, "buildingName": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Building Name" }, "locality": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "City of the billing address" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "Business state (US) or province (Canada, others). Required for US and Canada." }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." } } }, "businessContact": { "type": "object", "required": [ "firstName", "lastName", "phoneNumber", "email" ], "properties": { "firstName": { "type": "string", "maxLength": 50, "description": "Contact Person First Name" }, "middleName": { "type": "string", "maxLength": 50, "description": "Contact Person Middle Name" }, "lastName": { "type": "string", "maxLength": 50, "description": "Contact Person Last Name" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "description": "Contact Person Phone Number" }, "email": { "type": "string", "maxLength": 100, "description": "Contact Persona Email" } } }, "businessDetails": { "type": "object", "required": [ "interactionTypes", "percentageSplitByF2F", "percentageSplitByCNP", "whenIsCustomerCharged", "offerSubscriptions" ], "properties": { "customerType": { "type": "string", "description": "Who is the business interacting with? Business to Business, Business to Consumer, Both \nPossible values:\n- B2B\n- B2C\n- Both" }, "percentageSplitByB2B": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% Split" }, "percentageSplitByB2C": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% Split" }, "interactionTypes": { "type": "string", "description": "Merchant Facing: Face to Face, Card Not Present, Both \nPossible values:\n- F2F\n- CNP\n- Both" }, "percentageSplitByF2F": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% Split" }, "percentageSplitByCNP": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% Split" }, "whenIsCustomerCharged": { "type": "string", "description": "When is the customer charged? \nPossible values:\n- OneTimeBeforeServiceDelivery\n- OneTimeAfterServiceDelivery\n- Other" }, "whenIsCustomerChargedDescription": { "type": "string", "maxLength": 30 }, "offerSubscriptions": { "type": "boolean", "description": "Does Merchant Offer Subscriptions?" }, "monthlySubscriptionPercent": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% of business is monthly subscriptions" }, "quarterlySubscriptionPercent": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% of business is quarterly subscriptions" }, "semiannualSubscriptionPercent": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% of business is semi-annual subscriptions" }, "annualSubscriptionPercent": { "type": "number", "minimum": 0, "maximum": 100, "default": 0, "description": "% of business is annual subscriptions" }, "currencyType": { "type": "string", "description": "Processing Currency. ISO 4217, 3 characters. \nPossible values:\n- USD\n- CAD\n- EUR\n- GBP\n- CHF" }, "estimatedMonthlySales": { "type": "number", "description": "Merchant's estimated monthly sales" }, "averageOrderAmount": { "type": "number", "description": "Merchant's average order amount" }, "largestExpectedOrderAmount": { "type": "number", "description": "Merchant's largest expected order amount" }, "primaryAccountUsage": { "type": "string", "description": "Primary purpose of account usage \nPossible values:\n- Paying for goods / services\n- Repatriating overseas earnings\n- Intercompany transfers\n- Collecting funds from clients\n- Liquidity / FX\n- Payment to an individual\n- Investment activity\n- Property purchase/sale\n- Other" }, "sourceOfFunds": { "type": "string", "description": "Source of Funds \nPossible values:\n- Business revenue\n- External or shareholder investment\n- Loan, advance or other borrowing\n- Donations or grants\n- Inter-company transfers\n- Proceeds of sales of assests\n- Other" }, "receiveMoney3rdParties": { "type": "boolean", "description": "Will you recieve money from 3rd parties into your account?" }, "receiveTransactionFrequency": { "type": "string", "description": "Roughly how often do you expect to send or receive transactions? \nPossible values:\n- One-off or infrequently\n- 1-20 per month\n- 20-50 per month\n- 50-100 per month\n- 100+ per month" }, "estimatedMonthlySpend": { "type": "string", "description": "What is your estimated total monthly spend? \nPossible values:\n- <$10,000\n- $10,000 - $50,000\n- $50,000 - $100,000\n- $100,000 - $500,000\n- $500,000+" }, "countryTransactions": { "type": "array", "items": { "type": "string" } }, "currenciesIn": { "type": "array", "items": { "type": "string" } }, "currenciesOut": { "type": "array", "items": { "type": "string" } }, "productServicesSubscription": { "type": "array", "items": { "type": "object", "properties": { "productServiceName": { "type": "string", "maxLength": 255, "description": "Name of the product, service, or subscription." }, "productServicePercentage": { "type": "number", "minimum": 0, "maximum": 100, "description": "Percentage of business revenue from this product or service." } } } } } }, "ownerInformation": { "type": "array", "items": { "type": "object", "required": [ "firstName", "lastName", "birthDate", "isPrimary", "hasSignificantResponsibility", "nationalId", "ownershipPercentage", "nationality", "dueDiligenceRequired", "phoneNumberCountryCode", "phoneNumber", "email" ], "properties": { "firstName": { "type": "string", "maxLength": 50, "description": "Owner's first name" }, "middleName": { "type": "string", "maxLength": 50, "description": "Owner's middle name" }, "lastName": { "type": "string", "maxLength": 50, "description": "Owner's last name" }, "birthDate": { "type": "string", "format": "date", "description": "Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" }, "isPrimary": { "type": "boolean", "description": "Primary Owner or Non-Primary Owner" }, "hasSignificantResponsibility": { "type": "boolean", "description": "If not an owner, is the user a Control Person" }, "ownerDirector": { "type": "boolean", "description": "Is the owner a Director as well?" }, "nationalId": { "type": "string", "maxLength": 15, "description": "Identification value from ID document" }, "idCountry": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." }, "passportNumber": { "type": "string", "maxLength": 12, "description": "Passport Number" }, "passportCountry": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Passport Country. Two character country code, ISO 3166-1 alpha-2." }, "jobTitle": { "type": "string", "maxLength": 100, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "description": "Owner's Job Title" }, "ownershipPercentage": { "type": "number", "minimum": 1, "maximum": 100, "description": "Percentage of the company that owner owns" }, "nationality": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." }, "dueDiligenceRequired": { "type": "boolean", "description": "Indicates if due diligence checks should be run for this owner" }, "phoneNumberCountryCode": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Phone number country. Two character country code, ISO 3166-1 alpha-2." }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "description": "Owner's phone number" }, "email": { "type": "string", "maxLength": 100, "description": "Email address for Owner" }, "address": { "type": "object", "required": [ "country", "address1", "locality", "administrativeArea", "postalCode" ], "properties": { "country": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country where the owner resides. Two character country code." }, "address1": { "type": "string", "minLength": 1, "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Owner's street address." }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Owner's street address Continued" }, "buildingName": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Building Name" }, "locality": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "Owner's city" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "description": "Owner's state (US) or province (Canada, others)" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "description": "Owner's zip code (US) or postal code (Canada)" } } } } } }, "directorInformation": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "description": "Director's first name" }, "middleName": { "type": "string", "maxLength": 50, "description": "Director's middle name" }, "lastName": { "type": "string", "maxLength": 50, "description": "Director's last name" }, "birthDate": { "type": "string", "format": "date", "description": "Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" }, "email": { "type": "string", "maxLength": 100, "description": "Email address for Director" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "description": "Owner's phone number" }, "nationality": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." }, "nationalId": { "type": "string", "maxLength": 15, "description": "Identification value from ID document" }, "idCountry": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." }, "passportNumber": { "type": "string", "maxLength": 12, "description": "Passport Number" }, "address": { "type": "object", "properties": { "country": { "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "description": "Country where the Director resides. Two character country code." }, "address1": { "type": "string", "minLength": 1, "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Director's street address." }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Director's street address Continued" }, "buildingName": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", "description": "Building Name" }, "locality": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "Director's city" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", "description": "Director's state (US) or province (Canada, others)" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "description": "Director's zip code (US) or postal code (Canada)" } } } } } } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "description": "IP Address of the user that filled in the Merchant Application", "type": "string" }, "fingerprintSessionId": { "description": "Info about the user that filled in the Merchant Application", "type": "string" }, "userAgent": { "description": "Info about the user that filled in the Merchant Application", "type": "string" } } }, "depositInformation": { "type": "object", "properties": { "bankAccountCountry": { "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "example": "US" }, "accountHolderName": { "description": "Name on the Bank Account", "type": "string", "maxLength": 150, "example": "Sarah Jane Smith" }, "accountType": { "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", "type": "string", "example": "CORPORATECHECKING" }, "accountRoutingNumber": { "description": "Routing Number, IBAN, Swift/BIC, etc", "type": "string", "pattern": "^[0-9a-zA-Z\\+\\-]+$", "maxLength": 15, "example": 111111111111111 }, "accountNumber": { "description": "Account Number", "type": "string", "pattern": "^[0-9a-zA-Z\\+\\-]+$", "maxLength": 17, "example": 111111111111110 } } }, "billingInformation": { "type": "object", "properties": { "bankAccountInformation": { "type": "object", "properties": { "bankAccountCountry": { "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", "type": "string", "minLength": 2, "maxLength": 2, "pattern": "^[a-zA-Z]*$", "example": "US" }, "accountHolderName": { "description": "Name on the checking account", "type": "string", "maxLength": 150, "example": "Sarah Jane Smith" }, "accountType": { "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", "type": "string", "example": "CORPORATECHECKING" }, "accountRoutingNumber": { "description": "Routing Number, IBAN, Swift/BIC, etc", "type": "string", "maxLength": 15, "pattern": "^[0-9a-zA-Z\\+\\-]+$", "example": 111111111111111 }, "accountNumber": { "description": "Account Number", "type": "string", "maxLength": 17, "pattern": "^[0-9a-zA-Z\\+\\-]+$", "example": 111111111111110 } } } } }, "saleRepresentativeInformation": { "type": "object", "required": [ "salesRepId", "salesRepFirstName", "salesRepLastName", "salesRepEmail", "salesRepNumericPhoneNumberCountryCode", "salesRepPhoneNumber" ], "properties": { "salesRepId": { "description": "Sales rep Identifier", "type": "string", "maxLength": 60 }, "salesRepFirstName": { "description": "Sales rep First Name", "type": "string", "maxLength": 50, "example": "John" }, "salesRepLastName": { "description": "Sales Rep Last Name", "type": "string", "maxLength": 50, "example": "Johnson" }, "salesRepEmail": { "description": "Sales Rep eMail", "type": "string", "maxLength": 100, "example": "test@test.com" }, "salesRepNumericPhoneNumberCountryCode": { "description": "Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2.", "type": "string", "minLength": 2, "maxLength": 2, "example": "US" }, "salesRepPhoneNumber": { "description": "Sales Rep Phone", "type": "string", "maxLength": 20, "example": 4567890398 } } }, "fileAttachmentInformation": { "type": "object", "properties": { "fileGroupId": { "description": "The unique identifier for the file group", "type": "string" } } } } }, "additionalConfigurations": { "type": "array", "maxItems": 10, "description": "Additional configurations for the payment method. This can include various settings specific to the payment method.\n", "items": { "type": "object", "description": "Additional configuration for the payment method.\n", "properties": { "key": { "type": "string", "description": "Key for the additional configuration. This is used to identify the specific setting.\nexample: serviceProviderId\n" }, "value": { "type": "string", "description": "Value for the additional configuration. This is the actual setting being configured.\nexample: svcId\n" } } } } } } } } } } } } } } } }, "cardPresentConnect": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "properties": { "partnerSolutionIdentifier": { "type": "string", "description": "Solution identifier used to associate a partner organization with the Merchant that is on-boarded." } } } } } } }, "cybsReadyTerminal": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" } } } } }, "eCheck": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" }, "mode": { "type": "array", "items": { "type": "string" }, "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "ECheckConfig", "properties": { "common": { "type": "object", "properties": { "processors": { "type": "object", "additionalProperties": { "type": "object", "description": "Payment Processing connection used to support eCheck, aka ACH, payment methods. Example - \"bofaach\"", "properties": { "companyEntryDescription": { "type": "string", "maxLength": 10, "description": "*EXISTING* Company (merchant) defined description of entry to receive. For e.g. PAYROLL, GAS BILL, INS PREM. This field is alphanumeric" }, "companyId": { "type": "string", "maxLength": 10, "description": "*EXISTING* company ID assigned to merchant by Acquiring bank. This field is alphanumeric" }, "batchGroup": { "type": "string", "description": "*EXISTING* Capture requests are grouped into a batch bound for your payment processor. The batch time can be identified by reading the last 2-digits as military time. E.g., _16 = your processing cutoff is 4PM PST. Please note if you are in a different location you may then need to convert time zone as well." }, "enableAccuityForAvs": { "type": "boolean", "default": true, "description": "*NEW* Accuity is the original validation service that checks the account/routing number for formatting issues. Used by WF and set to \"Yes\" unless told otherwise" }, "accuityCheckType": { "type": "string", "default": "ALWAYS", "description": "*NEW* \nPossible values:\n- ALWAYS" }, "setCompletedState": { "type": "boolean", "default": false, "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } }, "required": [ "companyEntryDescription" ] } }, "internalOnly": { "type": "object", "properties": { "displayEcheckInfo": { "type": "boolean", "default": true, "description": "*NEW* Used by EBC UI always set to true" }, "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "x-devcenter-additional-properties": [ "bofaach", "wellsfargoach" ], "type": "object", "description": "Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "enableCCS": { "type": "boolean", "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n" }, "terminalId": { "type": "string", "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n" }, "enable15anTransactionReferenceNumber": { "type": "boolean", "default": true, "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS" }, "portalSupportedPaytypes": { "type": "string", "default": "CHECK", "description": "*NEW* This is used by the EBC2 application" }, "settlementMethod": { "type": "string", "default": "BEST_GUESS", "description": "*NEW* \nPossible values:\n- BEST_GUESS" }, "verificationLevel": { "type": "string", "default": "VALIDATION", "description": "*NEW* \nPossible values:\n- VALIDATION" }, "setCompletedState": { "type": "boolean", "default": false, "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } } } } } }, "accountHolderName": { "type": "string", "maxLength": 22, "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n" }, "accountType": { "type": "string", "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n" }, "accountRoutingNumber": { "type": "string", "maxLength": 9, "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n" }, "accountNumber": { "type": "string", "maxLength": 17, "description": "Mandatory \nAccount number for Merchant's Bank Account\n" } }, "required": [ "accountHolderName", "accountType", "accountRoutingNumber", "accountNumber" ] }, "underwriting": { "type": "object", "properties": { "standardEntryClassCodes": { "type": "string", "default": "CCD,PPD,TEL,WEB", "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n" }, "enableHold": { "type": "boolean", "default": true, "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n" }, "monthlyTotalTransactionAmountLimit": { "type": "number", "format": "currency", "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n" }, "holdingDays": { "type": "number", "format": "integer", "default": 7, "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n" }, "enableCredits": { "type": "boolean", "description": "Optional \nAllow Credits (True/False)\n" }, "transactionAmountLimit": { "type": "number", "format": "currency", "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n" }, "riskReserveMethod": { "type": "string", "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n" }, "riskReserveRate": { "type": "number", "format": "decimal", "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n" }, "riskReserveTargetAmount": { "type": "number", "format": "currency", "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n" }, "solutionOrganizationId": { "type": "string", "description": "Solution organization id" } }, "required": [ "standardEntryClassCodes", "enableHold", "monthlyTotalTransactionAmountLimit", "holdingDays", "transactionAmountLimit", "riskReserveMethod", "riskReserveRate", "riskReserveTargetAmount" ] }, "features": { "type": "object", "properties": { "accountValidationService": { "type": "object", "properties": { "internalOnly": { "type": "object", "properties": { "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "x-devcenter-additional-properties": [ "bofaach", "wellsfargoach" ], "type": "object", "description": "Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "avsVersion": { "type": "string", "default": "2", "description": "*NEW* \nPossible values:\n- 2" } } } } } }, "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "type": "object", "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "avsAccountOwnershipService": { "type": "boolean", "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." }, "avsAccountStatusService": { "type": "boolean", "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." }, "avsSignedAgreement": { "type": "boolean", "description": "*NEW* Taken from Addendum Agreement Column in boarding form." }, "avsCalculatedResponseBehavior": { "type": "string", "default": "continue", "description": "*NEW* \nPossible values:\n- continue" }, "avsAdditionalId": { "type": "string", "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." }, "enableAvs": { "type": "boolean", "default": true, "description": "*NEW*" }, "avsEntityId": { "type": "string", "description": "*NEW* Also known as the AVS Gateway Entity ID." }, "avsResultMode": { "type": "string", "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX" }, "enableAvsTokenCreation": { "type": "boolean", "default": false, "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." } } } } } } } } } } } } } }, "payerAuthentication": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "PayerAuthConfig", "properties": { "cardTypes": { "type": "object", "properties": { "verifiedByVisa": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "masterCardSecureCode": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "amexSafeKey": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "jCBJSecure": { "type": "object", "properties": { "securePasswordForJCB": { "type": "string", "minLength": 8, "maxLength": 8, "description": "JSecure currency password for Japan Credit Bureau" }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "dinersClubInternationalProtectBuy": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "ELO": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "UPI": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "CB": { "type": "object", "properties": { "requestorId": { "type": "string", "minLength": 14, "maxLength": 14, "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } } } } } } } } } }, "digitalPayments": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" }, "features": { "type": "object", "description": "Allowed values are;\n\n \n \n \n \n \n \n \n \n \n \n \n \n
visaCheckout
applePay
samsungPay
googlePay
\n", "additionalProperties": { "x-devcenter-additional-properties": [ "visaCheckout", "applePay", "samsungPay", "googlePay" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } } } }, "secureAcceptance": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "SAConfig", "properties": { "parentProfileId": { "type": "string", "description": "You can group Secure Acceptance profiles under parent profiles. By changing the parent profile, you can update all profiles underneath that parent. Specify the Parent Profile ID here." }, "contactInformation": { "type": "object", "description": "Optional contact information to be associated with the Secure Acceptance profile - for example the developer of the integration to the Hosted Checkout.", "properties": { "phone": { "type": "string" }, "companyName": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" } } }, "notifications": { "type": "object", "properties": { "merchantNotifications": { "type": "object", "properties": { "backofficePostEnabled": { "type": "boolean", "description": "Enables Webhook transaction confirmation messages sent to URL defined in backofficePostUrl. Usually enabled by web developers integrating to Secure Acceptance." }, "backofficeEmailAddress": { "type": "string", "description": "Email address to receive transaction confirmation messages." }, "backofficeEmailEnabled": { "type": "boolean", "description": "Enables email transaction confirmation messages, sent to the address specified in backofficeEmailAddress." }, "backofficePostUrl": { "type": "string", "description": "Webhook URL to which transaction confirmation is sent. Usually completed by the web developers integrating to Secure Acceptance." }, "cardNumberFormat": { "type": "string", "description": "Format in which the card number should be masked in the notifications. \n\nValid values:\n`1` - Display first 6 digits only (e.g. \"444433**********\")\n\n`2` - Display last four digits only (e.g. \"************1111\")\n\n`3` - Display First six and last four digits (e.g. \"444433******1111\")\n" } } }, "customerNotifications": { "type": "object", "description": "Features relating to notifications being sent directly to the payer using the Hosted Checkout.", "properties": { "customReceiptPageEnabled": { "type": "boolean", "description": "Toggles the custom receipt page, where merchants can receive the results of the transaction and display appropriate messaging. Usually set by web developers integrating to Secure Acceptance." }, "receiptEmailAddress": { "type": "string", "description": "Email address where a copy of the payer's receipt email is sent, when notificationReceiptEmailEnabled is true." }, "customerReceiptEmailEnabled": { "type": "boolean", "description": "Toggles an email receipt sent to the payer's email address on payment success." }, "customCancelPage": { "type": "string", "description": "URL to which transaction results are POSTed when the payer clicks 'Cancel' on the Hosted Checkout. Triggered when customCancelPageEnabled is true. Usually set by web developers integrating to Secure Acceptance." }, "customReceiptPage": { "type": "string", "description": "URL to which transaction results are POSTed when the payer requests a payment on the Hosted Checkout. Triggered when customCancelPageEnabled is true. Usually set by web developers integrating to Secure Acceptance." }, "customCancelPageEnabled": { "type": "boolean", "description": "Toggles the custom cancel page, where merchants can receive notice that the payer has canceled, and display appropriate messaging and direction. Usually set by web developers integrating to Secure Acceptance." }, "notificationReceiptEmailEnabled": { "type": "boolean", "description": "Toggles whether merchant receives a copy of the payer's receipt email." } } } } }, "service": { "type": "object", "properties": { "decisionManagerVerboseEnabled": { "type": "boolean", "description": "Toggles whether verbose Decision Manager results should be present in the Secure Acceptance response. As this response passes through the browser, it is recommended to set this to \"false\" outside of debugging." }, "declinedRetryLimit": { "type": "number", "description": "Defines the number of retries a payer is presented with on payment declines on Hosted Checkout. Valid values are between 0 and 5." }, "decisionManagerEnabled": { "type": "boolean", "description": "Toggles whether Decision Manager is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Decicion Manager." }, "tokenizationEnabled": { "type": "boolean", "description": "Toggles whether Tokenization is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Tokenization." }, "reverseAuthOnAddressVerificationSystemFailure": { "type": "boolean", "description": "Toggles whether or not an approved Authorization that fails AVS should be automatically reversed." }, "deviceFingerprintEnabled": { "type": "boolean", "description": "Toggles whether or not fraud Device Fingerprinting is enabled on the Hosted Checkout. This simplifies enablement for Decision Manager." }, "reverseAuthOnCardVerificationNumberFailure": { "type": "boolean", "description": "Toggles whether or not an approved Authorization that fails CVN check that should be automatically reversed." } } }, "paymentMethods": { "type": "object", "properties": { "enabledPaymentMethods": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- CARD\n- ECHECK\n- VISACHECKOUT\n- PAYPAL" } } } }, "checkout": { "type": "object", "properties": { "displayTaxAmount": { "type": "boolean", "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." }, "templateType": { "type": "string", "description": "Specifies whether the Hosted Checkout is displayed as a single page form or multi page checkout. \n\nValid values: \n`multi` \n`single`\n" }, "returnToMerchantSiteUrl": { "type": "string", "description": "URL of the website linked to from the Secure Acceptance receipt page. Only used if the profile does not have custom receipt pages configured." } } }, "paymentTypes": { "type": "object", "description": "Object containing Payment Types supported", "properties": { "cardTypes": { "type": "object", "properties": { "discover": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "amex": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "masterCard": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "visa": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } } } } } } } } } } } }, "virtualTerminal": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "VTConfig", "properties": { "cardNotPresent": { "type": "object", "properties": { "globalPaymentInformation": { "type": "object", "properties": { "basicInformation": { "type": "object", "properties": { "defaultStandardEntryClassCode": { "type": "string" }, "defaultCountryCode": { "type": "string", "description": "ISO 4217 format" }, "defaultCurrencyCode": { "type": "string", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" }, "defaultTransactionType": { "type": "string", "description": "Possible values:\n- AUTHORIZATION\n- SALE" }, "defaultPaymentType": { "type": "string", "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" }, "defaultTransactionSource": { "type": "string" }, "displayRetail": { "type": "boolean" }, "displayMoto": { "type": "boolean" }, "displayInternet": { "type": "boolean" } } }, "paymentInformation": { "type": "object", "properties": { "displayCardVerificationValue": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" } }, "requireCardVerificationValue": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" } }, "acceptedCardTypes": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" } }, "displayCreditCards": { "type": "boolean" }, "displayEchecks": { "type": "boolean" }, "displayDebtIndicator": { "type": "boolean" }, "displayBillPayment": { "type": "boolean" }, "enableEchecks": { "type": "boolean" }, "displayIgnoreECheckAvsCheckbox": { "type": "boolean" }, "firstNameRequired": { "type": "boolean" }, "lastNameRequired": { "type": "boolean" }, "displayFirstName": { "type": "boolean" }, "displayLastName": { "type": "boolean" } } }, "merchantDefinedDataFields": { "type": "object", "properties": { "displayMerchantDefinedData1": { "type": "boolean" }, "displayMerchantDefinedData2": { "type": "boolean" }, "displayMerchantDefinedData3": { "type": "boolean" }, "displayMerchantDefinedData4": { "type": "boolean" }, "displayMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DefaultValue": { "type": "string" }, "merchantDefinedData1Label": { "type": "string" }, "requireMerchantDefinedData1": { "type": "boolean" }, "merchantDefinedData2DefaultValue": { "type": "string" }, "merchantDefinedData2Label": { "type": "string" }, "requireMerchantDefinedData2": { "type": "boolean" }, "merchantDefinedData3DefaultValue": { "type": "string" }, "merchantDefinedData3Label": { "type": "string" }, "requireMerchantDefinedData3": { "type": "boolean" }, "merchantDefinedData4DefaultValue": { "type": "string" }, "merchantDefinedData4Label": { "type": "string" }, "requireMerchantDefinedData4": { "type": "boolean" }, "merchantDefinedData5DefaultValue": { "type": "string" }, "merchantDefinedData5Label": { "type": "string" }, "requireMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData5DisplayOnReceipt": { "type": "boolean" } } } } }, "receiptInformation": { "type": "object", "properties": { "header": { "type": "object", "properties": { "virtualTerminalReceiptHeader": { "type": "string" } } }, "orderInformation": { "type": "object", "properties": { "emailAliasName": { "type": "string" }, "customReplyToEmailAddress": { "type": "string" } } }, "emailReceipt": { "type": "object", "properties": { "sendersEmailAddress": { "type": "string" } } } } } } }, "cardPresent": { "type": "object", "properties": { "globalPaymentInformation": { "type": "object", "properties": { "basicInformation": { "type": "object", "properties": { "defaultStandardEntryClassCode": { "type": "string" }, "defaultCountryCode": { "type": "string", "description": "ISO 4217 format" }, "defaultCurrencyCode": { "type": "string", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" }, "defaultTransactionType": { "type": "string", "description": "Possible values:\n- AUTHORIZATION\n- SALE" }, "defaultPaymentType": { "type": "string", "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" }, "defaultTransactionSource": { "type": "string" }, "displayRetail": { "type": "boolean" }, "displayMoto": { "type": "boolean" }, "displayInternet": { "type": "boolean" } } }, "paymentInformation": { "type": "object", "properties": { "displayCardVerificationValue": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" } }, "requireCardVerificationValue": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" } }, "acceptedCardTypes": { "type": "array", "items": { "type": "string", "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" } }, "displayCreditCards": { "type": "boolean" }, "displayEchecks": { "type": "boolean" }, "displayDebtIndicator": { "type": "boolean" }, "displayBillPayment": { "type": "boolean" }, "enableEchecks": { "type": "boolean" }, "displayIgnoreECheckAvsCheckbox": { "type": "boolean" }, "firstNameRequired": { "type": "boolean" }, "lastNameRequired": { "type": "boolean" }, "displayFirstName": { "type": "boolean" }, "displayLastName": { "type": "boolean" } } }, "merchantDefinedDataFields": { "type": "object", "properties": { "displayMerchantDefinedData1": { "type": "boolean" }, "displayMerchantDefinedData2": { "type": "boolean" }, "displayMerchantDefinedData3": { "type": "boolean" }, "displayMerchantDefinedData4": { "type": "boolean" }, "displayMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DefaultValue": { "type": "string" }, "merchantDefinedData1Label": { "type": "string" }, "requireMerchantDefinedData1": { "type": "boolean" }, "merchantDefinedData2DefaultValue": { "type": "string" }, "merchantDefinedData2Label": { "type": "string" }, "requireMerchantDefinedData2": { "type": "boolean" }, "merchantDefinedData3DefaultValue": { "type": "string" }, "merchantDefinedData3Label": { "type": "string" }, "requireMerchantDefinedData3": { "type": "boolean" }, "merchantDefinedData4DefaultValue": { "type": "string" }, "merchantDefinedData4Label": { "type": "string" }, "requireMerchantDefinedData4": { "type": "boolean" }, "merchantDefinedData5DefaultValue": { "type": "string" }, "merchantDefinedData5Label": { "type": "string" }, "requireMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData5DisplayOnReceipt": { "type": "boolean" } } } } }, "receiptInformation": { "type": "object", "properties": { "header": { "type": "object", "properties": { "virtualTerminalReceiptHeader": { "type": "string" } } }, "orderInformation": { "type": "object", "properties": { "emailAliasName": { "type": "string" }, "customReplyToEmailAddress": { "type": "string" } } }, "emailReceipt": { "type": "object", "properties": { "sendersEmailAddress": { "type": "string" } } } } } } } } } } } } }, "currencyConversion": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "properties": { "processors": { "type": "object", "additionalProperties": { "x-devcenter-additional-properties": [ "six", "cmcic", "fdiglobal", "fdcsouth" ], "type": "object", "properties": { "provider": { "type": "string", "description": "The name of the provider." }, "merchantId": { "type": "string", "description": "A unique identifier value assigned to each merchant. Assigned by the provider." }, "acquirerId": { "type": "string", "description": "This code identifies the financial institution acting as the acquirer." } } } } } } } } } }, "tax": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "customerInvoicing": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "recurringBilling": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "paymentOrchestration": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "payouts": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "common": { "type": "object", "properties": { "paymentTypes": { "type": "array", "description": "List of card types supported by this merchant.\n", "items": { "type": "string", "minLength": 1, "maxLength": 30, "description": "Possible values:\n- VISA\n- MASTERCARD" } }, "businessApplicationId": { "type": "array", "description": "List of supported Business Application Indicators.\n", "items": { "type": "string", "minLength": 2, "maxLength": 2, "description": "Possible values:\n- AA\n- BB\n- BI\n- BP\n- CB\n- CD\n- CI\n- CO\n- CP\n- FD\n- FT\n- GD\n- GP\n- LA\n- LO\n- MD\n- MI\n- MP\n- OG\n- PD\n- PG\n- PP\n- PS\n- RP\n- TU\n- WT" } }, "defaultBusinessApplicationId": { "type": "string", "minLength": 2, "maxLength": 2, "description": "Default Business Application Indicator. Must match one of the values in businessApplicationId array.\n \nPossible values:\n- AA\n- BB\n- BI\n- BP\n- CB\n- CD\n- CI\n- CO\n- CP\n- FD\n- FT\n- GD\n- GP\n- LA\n- LO\n- MD\n- MI\n- MP\n- OG\n- PD\n- PG\n- PP\n- PS\n- RP\n- TU\n- WT" }, "aggregator": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^[a-zA-Z0-9_]+$", "minLength": 1, "maxLength": 11, "description": "Marketplace or payment facilitator ID." }, "name": { "type": "string", "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", "minLength": 1, "maxLength": 25, "description": "Acceptor's legal business name associated with the card acceptor identification code." }, "subMerchantId": { "type": "string", "pattern": "^[a-zA-Z0-9_]+$", "minLength": 1, "maxLength": 15, "description": "Sub-merchant ID" } } } } }, "processors": { "type": "object", "additionalProperties": { "description": "string [1 .. 40] characters\n\nThe name of the Payouts processor.\n", "pattern": "^[A-Za-z0-9]+$", "allOf": [ { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Indicates if the payment route is enabled. Allows the acquirer to enable/disable processing based on the config setting but to retain the configuration profile.\n" }, "acquirer": { "type": "object", "properties": { "acquiringId": { "type": "string", "pattern": "^\\d+$", "minLength": 6, "maxLength": 11, "description": "This code identifies the financial institution acting as the acquirer.\n\nAlso known as:\n\n- Acquiring BIN\n- Acquiring Institution Identification Code\n" }, "country": { "type": "string", "description": "The acquirer's [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country code. \nPossible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" } } }, "currencies": { "type": "array", "description": "List of supported [ISO 4217](https://developer.cybersource.com/docs/cybs/en-us/currency-codes/reference/all/na/currency-codes/currency-codes.html) alpha-3 currency codes.", "items": { "type": "string", "minLength": 3, "maxLength": 3, "description": "Possible values:\n- USD\n- AED\n- AFN\n- ALL\n- AMD\n- ANG\n- AOA\n- ARS\n- AUD\n- AWG\n- AZN\n- BAM\n- BBD\n- BDT\n- BGN\n- BHD\n- BIF\n- BMD\n- BND\n- BOB\n- BOX\n- BRL\n- BSD\n- BTN\n- BWP\n- BYR\n- BYN\n- BZD\n- CAD\n- CDF\n- CHF\n- CLF\n- CLP\n- CNY\n- COP\n- COU\n- CRC\n- CSK\n- CUC\n- CUP\n- CVE\n- CZK\n- DJF\n- DFF\n- DOP\n- DZD\n- EGP\n- ERN\n- ETB\n- EUR\n- FJD\n- FKP\n- GBP\n- GEL\n- GHS\n- GIP\n- GMD\n- GNF\n- GTQ\n- GWP\n- GYD\n- HKD\n- HNL\n- HTG\n- HUF\n- IDR\n- ILS\n- INR\n- IQD\n- IRR\n- ISK\n- HMD\n- JOD\n- JPY\n- KES\n- KGS\n- KHR\n- KMF\n- KPW\n- KRW\n- KWD\n- KYD\n- KZT\n- LAK\n- LBP\n- LRD\n- LSL\n- LTV\n- LVL\n- LYD\n- MAD\n- MDL\n- MGA\n- MKD\n- MMK\n- MNT\n- MOP\n- MRO\n- MUR\n- MVR\n- MWK\n- MXN\n- MYR\n- MZN\n- NAD\n- NGN\n- NIO\n- NOK\n- NPR\n- NZD\n- OMR\n- PAB\n- PEN\n- PGK\n- PHP\n- PKR\n- PLN\n- PYG\n- QAR\n- RON\n- RSD\n- RUB\n- RWF\n- SAR\n- SBD\n- SCR\n- SDG\n- SHP\n- SLE\n- SOS\n- SRD\n- SSP\n- STD\n- SVC\n- SYP\n- SZL\n- THB\n- TJS\n- TMT\n- TND\n- TOP\n- TRY\n- TTD\n- TWD\n- TZS\n- UAH\n- UGX\n- UYU\n- VEF\n- VND\n- VUV\n- WST\n- XAF\n- XCD\n- XOF\n- XPF\n- YER\n- ZAR\n- ZMK\n- ZMW\n- ZWD\n- ZWL" } }, "countries": { "type": "array", "description": "List of [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country codes", "items": { "type": "string", "minLength": 2, "maxLength": 2, "description": "Possible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" } }, "merchantId": { "type": "string", "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", "minLength": 1, "maxLength": 15, "description": "A unique identifier value assigned by Visa for each merchant included in the identification program." }, "terminalId": { "type": "string", "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", "minLength": 1, "maxLength": 8, "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." }, "businessCategoryValidation": { "type": "boolean", "description": "Default: false\n\nOverride Business Application Indicator and Merchant Category Code validations for payout transaction types.\n" }, "payoutsTransactionTypes": { "type": "array", "description": "The supported Payouts transaction types for the processor.\n", "items": { "type": "string", "minLength": 19, "maxLength": 20, "description": "Possible values:\n- PULL_FUNDS_TRANSFER\n- PUSH_FUNDS_TRANSFER" } }, "merchantPseudoAbaNumber": { "type": "string", "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", "minLength": 9, "maxLength": 9, "description": "This is a number that uniquely identifies the merchant for PPGS transactions.\n" }, "binLookupEligibilityCheck": { "type": "array", "description": "List of transaction types eligible for BIN Lookup Payouts Eligibility Check.\n\nSupports \"PULL_FUNDS_TRANSFER\" and \"PUSH_FUNDS_TRANSFER\".\n", "items": { "type": "string", "minLength": 19, "maxLength": 19, "description": "Possible values:\n- PULL_FUNDS_TRANSFER\n- PUSH_FUNDS_TRANSFER" } } } }, { "type": "object", "allOf": [ { "properties": { "feeProgramId": { "type": "string", "pattern": "^[A-Za-z0-9]+$", "minLength": 3, "maxLength": 3, "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n\nThis field can be regarded as informational only in all authorization messages.\n" }, "cpsAuthorizationCharacteristicsId": { "type": "string", "pattern": "^[A-Za-z]+$", "minLength": 1, "maxLength": 1, "description": "The Authorization Characteristics Indicator (ACI) is a code used by the acquirer to request CPS qualification. If applicable, Visa changes the code to reflect the results of its CPS evaluation." }, "nationalReimbursementFee": { "type": "string", "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", "minLength": 1, "maxLength": 12, "description": "A client-supplied interchange amount." }, "settlementServiceId": { "type": "string", "description": "This flag enables the merchant to request for a particular settlement service to be used for settling the transaction. \nNote: The default value is VIP. This field is only relevant for specific countries where the acquirer has to select National Settlement in order to settle in the national net settlement service.change\n \nPossible values:\n- INTERNATIONAL_SETTLEMENT\n- VIP_TO_DECIDE\n- NATIONAL_SETTLEMENT" }, "sharingGroupCode": { "type": "string", "minLength": 6, "maxLength": 16, "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities. \nPossible values:\n- ACCEL_EXCHANGE_E\n- CU24_C\n- INTERLINK_G\n- MAESTRO_8\n- NYCE_Y\n- NYCE_F\n- PULSE_S\n- PULSE_L\n- PULSE_H\n- STAR_N\n- STAR_W\n- STAR_Z\n- STAR_Q\n- STAR_M\n- VISA_V" }, "allowCryptoCurrencyPurchase": { "type": "boolean", "description": "This field allows a merchant to send a flag that specifies whether the payment is for the purchase of cryptocurrency." }, "merchantMvv": { "type": "string", "pattern": "^\\d+$", "minLength": 10, "maxLength": 10, "description": "Merchant Verification Value (MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "electronicCommerceId": { "type": "string", "minLength": 1, "maxLength": 20, "description": "This code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet). \nPossible values:\n- INTERNET\n- RECURRING\n- RECURRING_INTERNET\n- VBV_FAILURE\n- VBV_ATTEMPTED\n- VBV\n- SPA_FAILURE\n- SPA_ATTEMPTED\n- SPA" } } } ] }, { "type": "object", "allOf": [ { "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "pattern": "^[A-Za-z0-9]+$", "minLength": 22, "maxLength": 22, "description": "The merchant statement descriptor. The statement descriptor is a string which will be displayed on the recipient's bank or card statement." } } }, "operatingEnvironment": { "type": "string", "minLength": 1, "maxLength": 22, "description": "Initiation channel of the transfer request. \n \nPossible values:\n- WEB\n- MOBILE\n- BANK\n- KIOSK" }, "interchangeRateDesignator": { "type": "string", "pattern": "^[A-Za-z0-9]+$", "minLength": 2, "maxLength": 2, "description": "The IRD used for clearing the transaction on the Mastercard network." }, "partnerIdentifier": { "type": "string", "pattern": "^[A-Za-z0-9_\\-]+$", "minLength": 32, "maxLength": 32, "description": "Mastercard-assigned unique ID for registered partner. Mastercard Send Only." } } } ] } ] } } } } } } } }, "differentialFee": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" }, "features": { "type": "object", "properties": { "surcharge": { "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } } } } }, "payByLink": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "unifiedCheckout": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enablementStatus": { "type": "string", "default": "ENABLED_AND_USABLE", "description": "Possible values:\n- PENDING\n- ENABLED_AND_USABLE\n- ENABLED_NOT_USABLE\n- DISABLED" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" }, "features": { "type": "object", "properties": { "pazeForUnifiedCheckout": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Paze under unified checkout" }, "tokenManagement": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Token Management under Unified Checkout" }, "payPal": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling PayPal under Unified Checkout" }, "venmo": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Venmo under Unified Checkout" }, "applePay": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Apple Pay under Unified Checkout" }, "googlePay": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Google Pay under Unified Checkout" }, "tinkPayByBank": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Tink Pay by Bank under Unified Checkout" }, "eCheck": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling eCheck under Unified Checkout" }, "p24": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling p24 under Unified Checkout" }, "myBank": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling MyBank under Unified Checkout" }, "konbini": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Konbini under Unified Checkout" }, "dragonPay": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Dragon Pay under Unified Checkout" }, "decisionManager": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Decision Manager under Unified Checkout" }, "payerAuthentication": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Payer Authentication under Unified Checkout" }, "afterPay": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling AfterPay under Unified Checkout" }, "ideal": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Ideal under Unified Checkout" }, "multibanco": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Multibanco under Unified Checkout" }, "bancontact": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Bancontact under Unified Checkout" }, "clickToPay": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Click to Pay under Unified Checkout" }, "unifiedClickToPaySDK": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Unified Click to Pay SDK under Unified Checkout" }, "portfolioAccessofSensitiveData": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "description": "Enabling Portfolio Access of Sensitive Data under Unified Checkout" } } } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "features": { "type": "object", "properties": { "paze": { "type": "object", "properties": { "financialInstitution": { "type": "string", "description": "Indicates the financial institution with whom the contract has been signed \nPossible values:\n- BANKOFAMERICA\n- WELLSFARGO" }, "financialInstitutionContract": { "type": "boolean", "description": "Indicates if the contract has been signed with the selected bank" }, "pazeEnabledInProfile": { "type": "boolean", "description": "Paze enabled in the profile for the merchants" } }, "description": "Paze specific required configuration details under unified checkout" } } } } } } } } }, "receivablesManager": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "serviceFee": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "products": { "type": "object", "description": "Products enabled for this account. The following values are supported:\nvirtualTerminal\npaymentTokenizationOtp\nsubscriptionsOtp\nvirtualTerminalCp\neCheck\n", "additionalProperties": { "type": "object", "properties": { "serviceFeeEnabled": { "type": "boolean", "description": "Boolean flag to determine if service fee will be applied to the Product." } } } }, "terminalId": { "type": "string", "pattern": "/^[a-zA-Z0-9]+$/", "description": "Identifier of the terminal at the retail location.", "maxLength": 8 }, "merchantId": { "type": "string", "pattern": "/^[a-zA-Z0-9]+$/", "description": "Identifier of a merchant account.", "maxLength": 15 }, "merchantInformation": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the merchant account.", "maxLength": 25 }, "contact": { "type": "string", "pattern": "/^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/", "description": "Phone number of the primary contact for the merchant account." }, "state": { "type": "string", "description": "2-character ISO code for the U.S. state in which the merchant is registered", "maxLength": 2 } } }, "paymentInformation": { "type": "array", "items": { "type": "object", "properties": { "paymentType": { "type": "string", "description": "Payment types accepted by this merchant. The supported values are: MASTERDEBIT, MASTERCREDIT, VISACREDIT, VISADEBIT, DISCOVERCREDIT, AMEXCREDIT, ECHECK \nPossible values:\n- MASTERDEBIT\n- MASTERCREDIT\n- VISACREDIT\n- VISADEBIT\n- DISCOVERCREDIT\n- AMEXCREDIT\n- ECHECK" }, "feeType": { "type": "string", "description": "Fee type for the selected payment type. Supported values are: Flat or Percentage.\n \nPossible values:\n- FLAT\n- PERCENTAGE" }, "feeAmount": { "type": "number", "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", "description": "Fee Amount of the selected payment type if you chose Flat fee type.\n" }, "percentage": { "type": "number", "description": "Percentage of the selected payment type if you chose Percentage Fee type. Supported values use numbers with decimals. For example, 1.0\n" }, "feeCap": { "type": "number", "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", "description": "Fee cap for the selected payment type. Supported values use numbers with decimals. For example, 1.0\n" } } } } } } } } } }, "batchUpload": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "transactGuard": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "microform": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enablementStatus": { "type": "string", "default": "ENABLED_AND_USABLE", "description": "Possible values:\n- PENDING\n- ENABLED_AND_USABLE\n- ENABLED_NOT_USABLE\n- DISABLED" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" }, "features": { "type": "object", "additionalProperties": { "x-devcenter-additional-properties": [ "cardPresent", "cardNotPresent" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "properties": { "features": { "type": "object", "properties": { "gatewayAgnostic": { "type": "object", "properties": { "merchantLevelEncryption": { "type": "boolean" } } } } } } } } } } } } }, "risk": { "title": "riskProducts", "type": "object", "properties": { "fraudManagementEssentials": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" } } } } }, "decisionManager": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "DmConfig", "properties": { "processingOptions": { "type": "object", "properties": { "stepUpAuthEnabled": { "type": "boolean" } } }, "organization": { "type": "object", "properties": { "hierarchyGroup": { "type": "string", "description": "Must be one of the following : NO_GROUP, INCLUDE_IN_PARENTS_GROUP\n", "example": "NO_GROUP" } } }, "portfolioControls": { "type": "object", "properties": { "hideRiskMenus": { "type": "boolean" }, "hideRiskTransactionData": { "type": "boolean" } } }, "thirdparty": { "type": "object", "properties": { "provider": { "type": "object", "properties": { "accurint": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "credilink": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "sigla": { "type": "string" } } } } }, "ekata": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "apiKey": { "type": "string" } } } } }, "emailage": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "perseuss": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "signifyd": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "teamId": { "type": "string" }, "apiKey": { "type": "string" }, "secretKeyid": { "type": "string" }, "secretKey": { "type": "string" } } } } }, "targus": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "serviceId": { "type": "string" } } } } } } } } } } } } } } }, "portfolioRiskControls": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "profileId": { "type": "string" } } } } } } }, "enhancedAuthentication": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "title": "PayerAuthConfig", "properties": { "cardTypes": { "type": "object", "properties": { "verifiedByVisa": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "masterCardSecureCode": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "amexSafeKey": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "jCBJSecure": { "type": "object", "properties": { "securePasswordForJCB": { "type": "string", "minLength": 8, "maxLength": 8, "description": "JSecure currency password for Japan Credit Bureau" }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "dinersClubInternationalProtectBuy": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "ELO": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "UPI": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "CB": { "type": "object", "properties": { "requestorId": { "type": "string", "minLength": 14, "maxLength": 14, "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", "example": [ "ALL", "840", "978" ], "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } } } } } } } } } } } }, "commerceSolutions": { "title": "commerceSolutionsProducts", "type": "object", "properties": { "tokenManagement": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "properties": { "parentProfileId": { "type": "string", "description": "Specify the Vault ID to which transacting MID needs to be assigned.Provide Vault ID as seen on EBC Vault management page. If not provided , transacting MID will be assigned to the existing default Vault at merchant's level. If there are no Vaults at merchant level , a new Vault will be created and transacting MID will be assigned to it." }, "vault": { "type": "object", "properties": { "defaultTokenType": { "type": "string", "description": "Default token type to be used.\nPossible Values: \n - 'CUSTOMER'\n - 'PAYMENT_INSTRUMENT'\n - 'INSTRUMENT_IDENTIFIER'\n", "example": "CUSTOMER" }, "location": { "type": "string", "description": "Location where the vault will be stored.\n\nUse 'IDC' (the Indian Data Centre) when merchant is storing token data in India or 'GDC' (the Global Data Centre) for all other cases.\n\nPossible Values: \n - 'IDC'\n - 'GDC'\n", "example": "GDC" }, "tokenFormats": { "title": "tmsTokenFormats", "type": "object", "properties": { "customer": { "type": "string", "description": "Format for customer tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", "example": "32_HEX" }, "paymentInstrument": { "type": "string", "description": "Format for payment instrument tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", "example": "32_HEX" }, "instrumentIdentifierCard": { "type": "string", "description": "Format for card based instrument identifier tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '16_DIGIT_LAST_4'\n - '19_DIGIT'\n - '19_DIGIT_LAST_4'\n - '22_DIGIT'\n - '32_HEX'\n" }, "instrumentIdentifierBankAccount": { "type": "string", "description": "Format for bank account based instrument identifier tokens.\n\nPossible Values: \n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n" } } }, "tokenPermissions": { "title": "TokenPermissions", "type": "object", "properties": { "create": { "type": "boolean", "description": "Indicates if tokens may be created" }, "read": { "type": "boolean", "description": "Indicates if tokens may be read" }, "update": { "type": "boolean", "description": "Indicates if tokens may be updated" }, "delete": { "type": "boolean", "description": "Indicates if tokens may be deleted" } } }, "sensitivePrivileges": { "title": "tmsSensitivePrivileges", "type": "object", "properties": { "cardNumberMaskingFormat": { "type": "string", "description": "Indicates which digits of the card number will be unmasked.\n\nPossible Values: \n - 'FIRST_6_LAST_4'\n - 'LAST_4'\n - 'MASKED'\n" } } }, "nullify": { "title": "tmsNullify", "type": "object", "properties": { "instrumentIdentifierCardNumber": { "type": "boolean", "description": "Indicates if the card number should be nullified (i.e. not stored)" }, "instrumentIdentifierCardExpiration": { "type": "boolean", "description": "Indicates if the expiration date associated to the instrument identifier should be nullified (i.e. not stored)" }, "paymentInstrumentCardDetails": { "type": "boolean", "description": "Indicates if the card details should be nullified (i.e. not stored)" } } }, "networkTokenServices": { "title": "tmsNetworkTokenServices", "type": "object", "properties": { "notifications": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Indicates if lifecycle management (LCM) notifications are enabled" } } }, "paymentCredentials": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Indicates if Payment Credentials are enabled. If enabled, this provides access to the unredacted token and its associated cryptogram." } } }, "synchronousProvisioning": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Indicates if network tokens are provisioned synchronously (i.e. as part of the transaction flow) or asychronously (i.e. in parallel to the payment flow)\n\nNOTE: The synchronous provisioning feature is designed exclusively for aggregator merchants.\n\nDirect merchants should not enable synchronous provisioning as TMS manages the asynchronous creation of network tokens for direct clients. \n\nActivation of this feature by direct merchants will lead to latency in the authorization response.\n" } } }, "visaTokenService": { "type": "object", "properties": { "enableService": { "type": "boolean", "description": "Indicates if the service for network tokens for the Visa card association are enabled" }, "enableTransactionalTokens": { "type": "boolean", "description": "Indicates if network tokens for the Visa card association are enabled for transactions" }, "tokenRequestorId": { "type": "string", "description": "Token Requestor ID provided by Visa during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"40000000082\"\n", "pattern": "^[0-9]{11}\\\\z$\"", "minLength": 11, "maxLength": 11 }, "relationshipId": { "type": "string", "description": "Relationship ID provided by visa\n\nMin Length: 1\nMax Length: 100\nExample: \"24681921-40000000082\"\n", "minLength": 1, "maxLength": 100 } } }, "mastercardDigitalEnablementService": { "type": "object", "properties": { "enableService": { "type": "boolean", "description": "Indicates if the service for network tokens for the Mastercard card association are enabled" }, "enableTransactionalTokens": { "type": "boolean", "description": "Indicates if network tokens for the Mastercard card association are enabled for transactions" }, "tokenRequestorId": { "type": "string", "description": "Token Requestor ID provided by Mastercard during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"50162233570\"\n", "pattern": "^[0-9]{11}\\\\z$\"", "minLength": 11, "maxLength": 11 } } }, "americanExpressTokenService": { "type": "object", "properties": { "enableService": { "type": "boolean", "description": "Indicates if the service for network tokens for the American Express card association are enabled" }, "enableTransactionalTokens": { "type": "boolean", "description": "Indicates if network tokens for the American Express card association are enabled for transactions" }, "tokenRequestorId": { "type": "string", "description": "Token Requestor ID provided by American Express during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"12345678912\"\n", "pattern": "^[0-9]{11}\\\\z$\"", "minLength": 11, "maxLength": 11 }, "seNumber": { "type": "string", "minLength": 10, "maxLength": 10, "pattern": "^[0-9]{11}\\z$", "description": "SE Number assigned by American Express for the merchant's account\n\nPattern: \"^[0-9]{11}\\\\z$\"\nMin Length: 10\nMax Length: 10\nExample: \"9876543212\"\n" } } } } } } }, "networkTokenEnrollment": { "title": "networkTokenEnrollment", "type": "object", "properties": { "businessInformation": { "title": "tmsBusinessInformation", "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "description": "Name of the network token merchant.", "example": "NetworkTokenMerchant" }, "doingBusinessAs": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "description": "Name the network token merchant does business as", "example": "NetworkTokenCo1" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "description": "Country of network token merchant.", "example": "US" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of network token merchant.", "example": "ORMOND BEACH" } } }, "websiteUrl": { "type": "string", "maxLength": 100, "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac.\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", "description": "Website of network token merchant.", "example": "https://www.NetworkTokenMerchant.com" }, "businessIdentificationType": { "type": "string", "description": "The Identifier associated with the business type; required unless both acquirerId and acquirerMerchantId are provided.\n", "maxLength": 15 }, "businessIdentificationValue": { "type": "string", "description": "The value associated with the business identifier type; required unless both acquirerId and acquirerMerchantId are provided.\n", "maxLength": 25 }, "acquirer": { "type": "object", "properties": { "acquirerId": { "type": "string", "description": "Acquirer ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", "maxLength": 15 }, "acquirerMerchantId": { "type": "string", "description": "Acquirer merchant ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", "maxLength": 25 } } } } }, "networkTokenServices": { "title": "NetworkTokenServicesEnablement", "type": "object", "properties": { "visaTokenService": { "type": "object", "properties": { "enrollment": { "type": "boolean", "description": "Indicates if an enrollment to create a TRID for the Visa card association should be attempted" } } }, "mastercardDigitalEnablementService": { "type": "object", "properties": { "enrollment": { "type": "boolean", "description": "Indicates if an enrollment to create a TRID for the MasterCard card association should be attempted" } } } } } } } } } } } } }, "accountUpdater": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string" }, "configurations": { "type": "object", "properties": { "masterCard": { "type": "object", "properties": { "merchantId": { "type": "string", "description": "MasterCard merchant identified number" }, "interbankCardAssociationNumber": { "type": "string", "description": "Number assigned by MasterCard to a financial institution, third-party processor or other member to identify the member in transaction." }, "active": { "type": "boolean" } }, "required": [ "merchantId", "interbankCardAssociationNumber" ] }, "visa": { "type": "object", "properties": { "merchantId": { "type": "string", "description": "Visa merchant identified number" }, "segmentId": { "type": "string", "description": "Visa assigned segment ID for each group of merchants participating in VAU." }, "active": { "type": "boolean" } }, "required": [ "merchantId", "segmentId" ] }, "amex": { "type": "object", "properties": { "mode": { "type": "string", "description": "Type of mode. Valid values are `tokenApi` or `dailyHarvest`." }, "seNumber": { "type": "string" }, "subscriberId": { "type": "string" }, "active": { "type": "boolean" } } }, "preferredDay": { "type": "number", "minimum": 1, "maximum": 28 }, "daysWindow": { "type": "number", "minimum": 1, "maximum": 3650, "default": 31 } } } } } } }, "binLookup": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "isPayoutOptionsEnabled": { "type": "boolean", "description": "This flag indicates if the merchant is configured to make payout calls" }, "isAccountPrefixEnabled": { "type": "boolean", "description": "This flag indicates if the merchant is configured to receive account prefix" } } } } } } }, "agenticCommerce": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } } } }, "valueAddedServices": { "title": "valueAddedServicesProducts", "type": "object", "properties": { "reporting": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "transactionSearch": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "bankAccountValidation": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "flexapi": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } }, "webhooks": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } } } } } } } } }, "documentInformation": { "type": "object", "properties": { "signedDocuments": { "type": "array", "items": { "type": "object", "properties": { "documentId": { "type": "string", "maxLength": 200, "example": "TCProcessing" } } } } } } }, "required": [ "organizationInformation" ] }, "saveSymEgressKey_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "description": "Object for client references.", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n" } } }, "clientRequestAction": { "type": "string", "description": "Client request action.\n" }, "keyInformation": { "type": "object", "description": "Egress Key Information Request\n", "properties": { "provider": { "type": "string", "description": "Provider name\n" }, "tenant": { "type": "string", "description": "Tenant name\n" }, "keyType": { "type": "string", "description": "Type of the key\n" }, "organizationId": { "type": "string", "description": "Organization Id\n" }, "clientKeyId": { "type": "string", "description": "Client key Id\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "Value of the key\n" }, "status": { "type": "string", "description": "The status of the key\n" }, "expiryDuration": { "type": "string", "description": "Key expiry duration in days\n" } } } } }, "post__notification-subscriptions_v2_webhooks_request": { "type": "object", "properties": { "name": { "type": "string", "description": "Client friendly webhook name." }, "description": { "type": "string", "description": "Client friendly webhook description." }, "organizationId": { "type": "string", "description": "Organization Identifier (OrgId) or Merchant Identifier (MID)." }, "products": { "type": "array", "description": "To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint.", "items": { "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID." }, "eventTypes": { "type": "array", "items": { "type": "string", "description": "Array of the different events for a given product id." } } } } }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL). If the user does not provide the health check URL, it is the user's responsibility to re-activate the webhook if it is deactivated by calling the test endpoint.\n" }, "retryPolicy": { "type": "object", "description": "Retry policy for the individual webhooks that are a part of your subscription. If a message fails to deliver, it will execute through this retry policy.\n\nAutomatic suspend and resume:\n\nIf you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status.\nWhen your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent.\nWe will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability.\nIf your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again.\n\nIf you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status.\nSupport will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy.\n\n\nReference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration.\n", "properties": { "algorithm": { "type": "string", "default": "ARITHMETIC", "description": "This is used to calculate the Retry Sequence.\n\nSample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3\nArithmetic = a+r(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10+30x1 = 40 minutes\nRetry 3 - 10+30x2 = 70 minutes\n\nGeometric = ar^(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10x30^1 = 300 minutes\nRetry 3 - 10x30^2 = 9,000 minutes\n" }, "firstRetry": { "type": "integer", "description": "When to initiate first retry, after the initial call failed. (in mins).", "default": 1 }, "interval": { "type": "integer", "description": "The interval between retries (in mins).", "default": 1 }, "numberOfRetries": { "type": "integer", "description": "The number of retries per sequence.", "default": 3 }, "deactivateFlag": { "type": "string", "description": "Deactivate the subscription if your retries fail to deliver.\n\nIf this is set to `true`, the automatic suspend and resume feature will occur.\nThis would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent.\n\nIf this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active.\n" }, "repeatSequenceCount": { "type": "integer", "description": "The number of times to repeat the complete retry sequence.\n0 => don't repeat the retry sequence\n1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3)\n2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3)\n", "default": 0 }, "repeatSequenceWaitTime": { "type": "integer", "description": "The time to wait to before repeating the complete retry sequence.\nAmount of time to wait between each sequence.\nSample calculation using repeatSequenceWaitTime=10\n(R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3)\n", "default": 0 }, "additionalAttributes": { "description": "Additional data, if any.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "notificationScope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. \n \nPossible values:\n- SELF\n- DESCENDANTS", "default": "DESCENDANTS" }, "securityPolicy": { "type": "object", "description": "The security option to authenticate with your API or client server.", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server. \nPossible values:\n- key\n- oAuth\n- oAuth_JWT" }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config. \nPossible values:\n- Bearer" }, "additionalConfig": { "description": "Additional, free form configuration data.", "type": "object", "properties": { "aud": { "type": "string" }, "client_id": { "type": "string" }, "keyId": { "type": "string" }, "scope": { "type": "string" } } } } } } } } }, "patch__notification-subscriptions_v2_webhooks_{webhookId}_request": { "type": "object", "properties": { "name": { "type": "string", "description": "Client friendly webhook name." }, "organizationId": { "type": "string", "description": "Organization Id." }, "description": { "type": "string", "description": "Client friendly webhook description." }, "products": { "type": "array", "items": { "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID." }, "eventTypes": { "type": "array", "items": { "type": "string", "description": "Event types within the product that you would like subscriptions for." } } }, "example": { "productId": "tokenManagement", "eventTypes": [ "tms.networktoken.provisioned", "tms.networktoken.updated", "tms.networktoken.binding", "tms.accountupdater.enrollment", "tms.accountupdater.update" ] } } }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "notificationScope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. \n \nPossible values:\n- SELF\n- DESCENDANTS", "default": "DESCENDANTS" }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL)." }, "securityPolicy": { "type": "object", "description": "The security option to authenticate with your API or client server.", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server. \nPossible values:\n- key\n- oAuth\n- oAuth_JWT" }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config. \nPossible values:\n- Bearer" }, "additionalConfig": { "description": "Additional, free form configuration data.", "type": "object", "properties": { "aud": { "type": "string" }, "client_id": { "type": "string" }, "keyId": { "type": "string" }, "scope": { "type": "string" } } } } } } } }, "example": { "name": "Updated Billing Subscription", "webhookUrl": "https://newwebhooks.com" } }, "put__notification-subscriptions_v2_webhooks_{webhookId}_status_request": { "type": "object", "properties": { "status": { "type": "string", "description": "The status the user intends to update the subscription to. The supported values are ACTIVE & INACTIVE. If the subscription status is INACTIVE, webhook notifications will not be sent. Webhooks will resume being sent once the subscription is ACTIVE again. \nPossible values:\n- ACTIVE\n- INACTIVE", "default": "INACTIVE" } }, "example": { "status": "ACTIVE" } }, "saveAsymEgressKey_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "description": "Object for client references.", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n" } } }, "clientRequestAction": { "type": "string", "description": "Client request action.\n" }, "keyInformation": { "type": "object", "description": "Egress Asymmetric Key Information Request\n", "properties": { "provider": { "type": "string", "description": "Provider name\n" }, "tenant": { "type": "string", "description": "Tenant name\n" }, "keyType": { "type": "string", "description": "Type of the key\n" }, "organizationId": { "type": "string", "description": "Organization Id\n" }, "pub": { "type": "string", "description": "Public certificate with only base64 encoded payload and not the header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "pvt": { "type": "string", "description": "Private certificate with only base64 encoded payload and not header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" }, "status": { "type": "string", "description": "The status of the key\n" }, "expiryDuration": { "type": "string", "description": "Key expiry duration in days\n" } } } } }, "postSearchQuery_request": { "type": "object", "properties": { "query": { "type": "string", "description": "The Search Query to retrieve the Terminals(Example :- terminalSerialNumber:12345678 AND readerId:66c395ca-4f20-4b40-acac-5ff4c772d5f9 AND terminalId:T9KN88RTPE). Empty Query returns everything for the given organization." }, "sort": { "type": "string", "description": "The Sort Query to order the Terminals by. By Default, It is in ascending order of last update of a device." }, "offset": { "type": "integer", "format": "int64", "description": "The offset or page number." }, "limit": { "type": "integer", "format": "int64", "description": "Number of devices to retrieve in one request." } } }, "deleteTerminalAssociation_request": { "type": "object", "properties": { "deviceId": { "type": "string", "description": "UUID of the device which needs to be de-associated" } } }, "postDeAssociateV3Terminal_request": { "type": "array", "items": { "type": "object", "required": [ "deviceId" ], "properties": { "deviceId": { "type": "string", "description": "ID of the device to be de-associated.", "maxLength": 256 }, "organizationId": { "type": "string", "description": "A field representing value of either account id or portfolio id.", "maxLength": 30 } } } }, "postSearchQueryV3_request": { "type": "object", "properties": { "query": { "type": "string", "description": "The Search Query to retrieve the Terminals.(Example :- serialNumber:456345234 AND readerId:509353f0-86ca-4af4-a1c9-c2702bfd7431 AND terminalId:7854922 AND status:Inactive AND statusChangeReason:Other AND organizationId:London Store)" }, "sort": { "type": "string", "description": "terminalCreationDate:desc (default) or serialNumber or terminalUpdationDate" }, "offset": { "type": "integer", "format": "int64", "description": "The offset or page number." }, "limit": { "type": "integer", "format": "int64", "description": "Number of devices to retrieve in one request." } } }, "generateUnifiedCheckoutCaptureContext_request": { "type": "object", "properties": { "clientVersion": { "type": "string", "example": "0.34", "maxLength": 60, "description": "Specify the version of Unified Checkout that you want to use." }, "targetOrigins": { "type": "array", "items": { "type": "string", "example": "https://yourCheckoutPage.com" }, "description": "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Unified Checkout is defined by the scheme (protocol), hostname (domain) and port number (if used). \n\nYou must use https://hostname (unless you use http://localhost)\nWildcards are NOT supported. Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n - https://example.com\n - https://subdomain.example.com\n - https://example.com:8080

\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n targetOrigins: [\n \"https://example.com\",\n \"https://basket.example.com\",\n \"https://ecom.example.com\"\n ]\n" }, "allowedCardNetworks": { "type": "array", "items": { "type": "string", "maxLength": 30, "example": [ "VISA", "MASTERCARD" ] }, "description": "The list of card networks you want to use for this Unified Checkout transaction.\n\nUnified Checkout currently supports the following card networks:\n - VISA\n - MASTERCARD\n - AMEX\n - CARNET\n - CARTESBANCAIRES\n - CUP\n - DINERSCLUB\n - DISCOVER\n - EFTPOS\n - ELO\n - JAYWAN\n - JCB\n - JCREW\n - KCP\n - MADA\n - MAESTRO\n - MEEZA\n - PAYPAK\n - UATP\n" }, "allowedPaymentTypes": { "type": "array", "items": { "type": "string" }, "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Unified Checkout:\n - APPLEPAY\n - CHECK\n - CLICKTOPAY\n - GOOGLEPAY\n - PANENTRY \n - PAZE

\n\nUnified Checkout supports the following Buy Now, Pay Later (BNPL) payment methods:\n - AFTERPAY

\n\nUnified Checkout supports the following Online Bank Transfer payment methods:\n - Bancontact (BE)\n - DragonPay (PH)\n - iDEAL (NL)\n - Multibanco (PT)\n - MyBank (IT, BE, PT, ES)\n - Przelewy24|P24 (PL)\n - Tink Pay By Bank (GB)

\n\n Unified Checkout supports the following Post-Pay Reference payment methods:\n - Konbini (JP)

\n\nPossible values when launching Click To Pay Drop-In UI:\n- CLICKTOPAY

\n\n**Important:** \n - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards.\n - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester.\n - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field.

\n\n**Managing Google Pay Authentication Types**\nWhen you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay.

\n\n**Managing Google Pay Authentication Types**\nWhere Click to Pay is the payment type selected by the customer and the customer manually enters their card, the option to enroll their card in Click to Pay will be auto-checked if this field is set to \"true\". \n\nThis is only available where the merchant and cardholder are based in the following countries and the billing type is set to \"FULL\" or \"PARTIAL\".\n - UAE\n - Argentina\n - Brazil\n - Chile\n - Colombia\n - Kuwait\n - Mexico\n - Peru\n - Qatar\n - Saudi Arabia\n - Ukraine\n - South Africa

\n\nIf false, this is not present or not supported in the market. Enrollment in Click to Pay is not checked for the customer when completing manual card entry.\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Country the purchase is originating from (e.g. country of the merchant). \nUse the two-character ISO Standard\n" }, "locale": { "type": "string", "example": "en_US", "description": "Localization of the User experience conforming to the ISO 639-1 language standards and two-character ISO Standard Country Code.\n\nPlease refer to list of [supported locales through Unified Checkout](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-appendix-languages.html)\n" }, "buttonType": { "type": "string", "example": null, "description": "Changes the label on the payment button within Unified Checkout .

\n\nPossible values:\n- ADD_CARD\n- CARD_PAYMENT\n- CHECKOUT\n- CHECKOUT_AND_CONTINUE\n- DEBIT_CREDIT\n- DONATE\n- PAY\n- PAY_WITH_CARD\n- SAVE_CARD\n- SUBSCRIBE_WITH_CARD

\n\nThis is an optional field,\n" }, "captureMandate": { "type": "object", "properties": { "billingType": { "type": "string", "example": "FULL", "maxLength": 25, "description": "Configure Unified Checkout to capture billing address information.\n\nPossible values:\n- FULL: Capture complete billing address information.\n- PARTIAL: Capture first name, last name, country and postal/zip code only.\n- NONE: Capture only first name and last name.\n" }, "requestEmail": { "type": "boolean", "description": "Configure Unified Checkout to capture customer email address.\n\nPossible values:\n - True\n - False\n" }, "requestPhone": { "type": "boolean", "description": "Configure Unified Checkout to capture customer phone number.\n\nPossible values:\n- True\n- False\n" }, "requestShipping": { "type": "boolean", "description": "Configure Unified Checkout to capture customer shipping details.\n\nPossible values:\n- True\n- False\n" }, "shipToCountries": { "type": "array", "description": "List of countries available to ship to. \nUse the two-character ISO Standard Country Codes.\n", "items": { "type": "string", "example": "US", "maxLength": 2 } }, "showAcceptedNetworkIcons": { "type": "boolean", "description": "Configure Unified Checkout to display the list of accepted card networks beneath the payment button\n\nPossible values:\n- True\n- False\n" }, "showConfirmationStep": { "type": "boolean", "description": "Configure Unified Checkout to display the final confirmation screen when using Click to Pay.
\nWhere 'BillingType'= NONE and 'requestShipping'= FALSE and the customer is using an existing Click to Pay card as their chosen payment method, a final confirmation screen can be removed allowing the customer to check out as soon as they have selected their payment method from within their Click to Pay card tray.\n\nPossible values:\n- True\n- False\n" }, "requestSaveCard": { "type": "boolean", "description": "Configure Unified Checkout to display the \"Save card for future use\" checkbox.
\n\nConfigurable check box that will show in a Manual card entry flow to allow a Cardholder to give consent to store their manually entered credential with the Merchant that they are paying.
\nApplicable when manually entering the details and not enrolling in Click to Pay.\n\nPossible values:\n - True \n - False

\n\n**Use Cases:**\n\n**Offer consumers option to save their card in Unified Checkout:** \n- Include the captureMandate.requestSaveCard field in the capture context request and set it to true.\n- When set to true, this will show a checkbox with the message 'Save card for future use' in Unified Checkout.\n- When selected this provides a response in both the Transient Token and Get Credentials API response.

\n\n**Do not offer consumers the option to save their card in Unified Checkout:** \n- Include the captureMandate.requestSaveCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- When set to false, the save card option is not shown to consumers when manually entering card details.\n" }, "comboCard": { "type": "boolean", "description": "Configure Unified Checkout to display combo card at checkout.
\n\nA combo debit/credit card is a single card that functions both as a Debit/Credit card. \nUnified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card.\n**Important:** This is applicable to Visa cards only.\n\nPossible values:\n- True \n- False

\n\n**Use Cases:**\n\n**Offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to true.\n- When set to true, Combo Card selection is shown at checkout

\n\n**Do not offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- The Combo Card selection is not shown at checkout.\n" }, "CPF": { "type": "object", "properties": { "required": { "type": "boolean", "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False

\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.

\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n" } } } } }, "completeMandate": { "type": "object", "description": "The completeMandate object is designed to provide instructions for orchestrating payment services. Unified Checkout is capable of orchestrating a number of services on your behalf.

\nBy providing this field in the capture context Unified Checkout will initiate services on your behalf from the browser, simplifying your integration.\n", "properties": { "type": { "type": "string", "example": "AUTH", "maxLength": 25, "description": "This field is used to indicate how a payment should be processed.\n\nPossible values:\n- AUTH: Use this value when you want to authorize a payment within Unified Checkout without capturing it immediately. Payment types that initiate an immediate transfer of funds are NOT allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned. A merchant would need to perform their own capture via API where applicable.

\n- CAPTURE: Use this value when you want to perform a sale within Unified Checkout and capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.

\n- PREFER_AUTH: Use this value to offer multiple alternative payment options during the Unified Checkout experience. This option authorizes the payment without immediate capture, where available. It will perform a \"CAPTURE\" where an \"AUTH\" is not allowed by the payment type. Transactions can be AUTHORIZED, CAPTURED, or PENDING. If an \"AUTH\" is performed, a merchant would need to perform their own capture via API where applicable.\n" }, "tms": { "type": "object", "description": "Configure Unified Checkout to create a TMS token at the end of the payment journey\n", "properties": { "tokenCreate": { "type": "boolean", "example": true, "description": "Use this when you want to create a token from the card/bank data in your payment request. \n\nPossible values:\n - True\n - False

\n" }, "tokenTypes": { "type": "array", "items": { "type": "string", "maxLength": 30, "example": [ "CUSTOMER" ] }, "description": "Cybersource tokens types you are performing a create on.\nIf not supplied the default token type for the merchants token vault will be used.\n\nPossible values:\n- Customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress\n" } } }, "decisionManager": { "type": "boolean", "description": "Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration.\n\nPossible values:\n - True\n - False

\n\nSetting this value to True indicates that device fingerprinting will be executed to add additional information for risk service\nSetting this value to False (or not provided) indicates that you do not wish to run device fingerprinting and skip decision manager services.\n" }, "consumerAuthentication": { "type": "boolean", "description": "Configure Unified Checkout to determine whether Consumer Authentication is invoked during service orchestration.\n\nPossible values:\n - True\n - False

\n\nSetting this value to True will attempt to perform authentication using the Payer Authentication Service.\nSetting this value to False (or not provided) indicates that you do not wish to perform authentication using the Payer Authentication Service.\n" } } }, "transientTokenResponseOptions": { "type": "object", "properties": { "includeCardPrefix": { "type": "boolean", "description": "Use the transientTokenResponseOptions.includeCardPrefix field to choose your preferred card number prefix length: 6-digit, 8-digit, or no card number prefix.\n\nPossible values:\n- True\n- False

\n\nTo select the type of card number prefix:\n- No field included: A 6-digit prefix is returned (default)\n- True: An 8-digit prefix is returned\n- False: No prefix is returned

\n\nThe following conditions apply:\n- 8-digit card number prefixes only apply to Discover, JCB, Mastercard, UnionPay, and Visa brands with 16-digit card numbers or more.\n- Any card with less than 16-digit numbers will return a 6-digit prefix even when the transientTokenResponseOptions.includeCardPrefix field is set to true.\n- Any card brand other than Discover, JCB, Mastercard, UnionPay, or Visa will return a 6-digit prefix even when the transientTokenResponseOptions.includeCardPrefix field is set to true.\n- If any card brand is co-branded with Discover, JCB, Mastercard, UnionPay, or Visa, an 8-digit prefix will be returned if the transientTokenResponseOptions.includeCardPrefix field is set to true.

\n\n**Important:** \nIf your application does NOT require a card number prefix for routing or identification purposes, set the transientTokenResponseOptions.includeCardPrefix field to False. This will minimize your personal data exposure.\n" } } }, "data": { "type": "object", "properties": { "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "example": 21, "description": "This field defines the total order amount.\n" }, "currency": { "type": "string", "example": "USD", "description": "This field defines the currency applicable to the order.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "example": 2.5, "description": "This field defines the surcharge amount applicable to the order.\n" } } }, "discountAmount": { "type": "string", "example": 2, "description": "This field defines the discount amount applicable to the order.\n" }, "subTotalAmount": { "type": "string", "example": 5, "description": "This field defines the sub total amount applicable to the order.\n" }, "serviceFeeAmount": { "type": "string", "example": 5, "description": "This field defines the service fee amount applicable to the order.\n" }, "taxAmount": { "type": "string", "example": 10, "description": "This field defines the tax amount applicable to the order.\n" }, "taxDetails": { "type": "object", "properties": { "taxId": { "type": "string", "example": 1234, "maxLength": 20, "description": "This field defines the tax identifier/registration number\n" }, "type": { "type": "string", "example": "N", "maxLength": 1, "description": "This field defines the Tax type code (N=National, S=State, L=Local etc)\n" } } } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "example": "Visa Inc", "maxLength": 60, "description": "Name of the customer's company." }, "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)\nOptional field.\n" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\nOptional field\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" } } }, "email": { "type": "string", "example": "john.doe@visa.com", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "middleName": { "type": "string", "example": "F", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "example": "Jr", "maxLength": 60, "description": "Customer's name suffix.\n" }, "title": { "type": "string", "example": "Mr", "maxLength": 60, "description": "Title.\n" }, "phoneNumber": { "type": "string", "example": 1234567890, "description": "Customer's phone number.\n" }, "phoneType": { "type": "string", "example": "day", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "CyberSource", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "example": "Victoria House", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "address3": { "type": "string", "example": "15-17 Gloucester Street", "description": "Third line of the shipping address.\n" }, "address4": { "type": "string", "example": "string", "maxLength": 60, "description": "Fourth line of the shipping address." }, "administrativeArea": { "type": "string", "example": "CA", "maxLength": 2, "description": "State or province of the shipping address.\n\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf)\n" }, "buildingNumber": { "type": "string", "example": "string", "maxLength": 15, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "GB", "description": "Country of the shipping address.\n\nUse the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n" }, "district": { "type": "string", "example": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "example": "Belfast", "maxLength": 50, "description": "City of the shipping address.\n" }, "postalCode": { "type": "string", "example": "BT1 4LS", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "First name of the recipient" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Last name of the recipient." } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "example": "electronics", "description": "Code identifying the product." }, "productName": { "type": "string", "maxLength": 255, "example": "smartphone", "description": "Name of the product." }, "productSku": { "type": "string", "maxLength": 255, "example": "SKU12345", "description": "Stock Keeping Unit identifier" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "example": 2, "description": "Quantity of the product" }, "unitPrice": { "type": "string", "maxLength": 15, "example": "399.99", "description": "Price per unit" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "example": "EA", "description": "Unit of measure (e.g. EA, KG, LB)" }, "totalAmount": { "type": "string", "maxLength": 13, "example": "799.98", "description": "Total amount for the line item" }, "taxAmount": { "type": "string", "maxLength": 15, "example": "64.00", "description": "Tax amount applied" }, "taxRate": { "type": "string", "maxLength": 7, "example": "0.88", "description": "Tax rate applied" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "example": "Y", "description": "Indicates if tax applied after discount" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "example": "N", "description": "Tax status indicator" }, "taxTypeCode": { "type": "string", "maxLength": 4, "example": "VAT", "description": "Tax type code" }, "amountIncludesTax": { "type": "boolean", "example": false, "description": "Indicates if amount includes tax" }, "typeOfSupply": { "type": "string", "maxLength": 2, "example": "GS", "description": "Type of supply" }, "commodityCode": { "type": "string", "maxLength": 15, "example": "123456", "description": "Commodity code" }, "discountAmount": { "type": "string", "maxLength": 13, "example": "10.00", "description": "Discount amount applied" }, "discountApplied": { "type": "boolean", "example": true, "description": "Indicates if discount applied" }, "discountRate": { "type": "string", "maxLength": 6, "example": "0.05", "description": "Discount rate applied" }, "invoiceNumber": { "type": "string", "maxLength": 23, "example": "INV-001", "description": "Invoice number for the line item" }, "taxDetails": { "type": "object", "properties": { "type": { "type": "string", "example": "VAT", "description": "Type of tax" }, "amount": { "type": "string", "maxLength": 13, "example": 5.99, "description": "Tax amount" }, "rate": { "type": "string", "maxLength": 6, "example": 20, "description": "Tax rate" }, "code": { "type": "string", "maxLength": 4, "example": "VAT", "description": "Tax code" }, "taxId": { "type": "string", "maxLength": 15, "example": "TAXID12345", "description": "Tax Identifier" }, "applied": { "type": "boolean", "example": true, "description": "Indicates if tax applied" }, "exemptionCode": { "type": "string", "maxLength": 1, "example": "E", "description": "Tax exemption code" } } }, "fulfillmentType": { "type": "string", "example": "Delivery", "description": "Fulfillment type" }, "weight": { "type": "string", "maxLength": 9, "example": "1.5", "description": "Weight of the product" }, "weightIdentifier": { "type": "string", "maxLength": 1, "example": "N", "description": "Weight identifier" }, "weightUnit": { "type": "string", "maxLength": 2, "example": "KG", "description": "Unit of weight of the product" }, "referenceDataCode": { "type": "string", "maxLength": 150, "example": "REFCODE", "description": "Reference data code" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "example": "REF123", "description": "Reference data number" }, "unitTaxAmount": { "type": "string", "maxLength": 15, "example": "3.20", "description": "Unit tax amount" }, "productDescription": { "type": "string", "maxLength": 30, "example": "Latest model smartphone", "description": "Description of the product" }, "giftCardCurrency": { "type": "string", "maxLength": 3, "example": "USD", "description": "Gift card currency" }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "example": "Residential", "description": "Shipping destination types" }, "gift": { "type": "boolean", "example": false, "description": "Indicates if item is a gift" }, "passenger": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 50, "example": "Residential", "description": "Passenger type" }, "status": { "type": "string", "maxLength": 32, "example": "Gold", "description": "Passenger status" }, "phone": { "type": "string", "maxLength": 15, "example": "123456789", "description": "Passenger phone number" }, "firstName": { "type": "string", "maxLength": 60, "example": "John", "description": "Passenger first name" }, "lastName": { "type": "string", "maxLength": 60, "example": "Doe", "description": "Passenger last name" }, "id": { "type": "string", "maxLength": 40, "example": "AIR1234567", "description": "Passenger ID" }, "email": { "type": "string", "maxLength": 50, "example": "john.doe@example.com", "description": "Passenger email" }, "nationality": { "type": "string", "maxLength": 2, "example": "US", "description": "Passenger nationality" } } } } } }, "invoiceDetails": { "type": "object", "properties": { "invoiceNumber": { "type": "string", "maxLength": 255, "example": "electronics", "description": "Invoice number" }, "productDescription": { "type": "string", "maxLength": 255, "example": "electronics", "description": "Product description" } } } } }, "buyerInformation": { "type": "object", "properties": { "personalIdentification": { "type": "object", "properties": { "cpf": { "type": "string", "maxLength": 11, "example": "12345678900", "description": "CPF Number (Brazil). Must be 11 digits in length.\n" } } }, "merchantCustomerId": { "type": "string", "maxLength": 100, "example": "M123456767", "description": "The Merchant Customer ID\n" }, "companyTaxId": { "type": "string", "maxLength": 9, "example": "", "description": "The Company Tax ID\n" }, "dateOfBirth": { "type": "string", "maxLength": 10, "example": "12/03/1976", "description": "The date of birth\n" }, "language": { "type": "string", "maxLength": 10, "example": "English", "description": "The preferred language\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "example": "TC50171_3" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "example": "DEV12345" }, "solutionId": { "type": "string", "maxLength": 8, "example": "SOL1234" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "challengeCode": { "type": "string", "maxLength": 2, "example": "01", "description": "The challenge code\n" }, "messageCategory": { "type": "string", "maxLength": 2, "example": "01", "description": "The message category\n" }, "acsWindowSize": { "type": "string", "maxLength": 2, "example": "01", "description": "The acs window size\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 25, "example": "Euro Electronics", "description": "The name of the merchant" }, "alternateName": { "type": "string", "maxLength": 25, "example": "Smyth Holdings PLC", "description": "The alternate name of the merchant" }, "locality": { "type": "string", "maxLength": 50, "example": "New York", "description": "The locality of the merchant" }, "phone": { "type": "string", "maxLength": 15, "example": "555-555-123", "description": "The phone number of the merchant" }, "country": { "type": "string", "maxLength": 2, "example": "US", "description": "The country code of the merchant" }, "postalCode": { "type": "string", "maxLength": 10, "example": "170056", "description": "The postal code of the merchant" }, "administrativeArea": { "type": "string", "maxLength": 2, "example": "NY", "description": "The administrative area of the merchant" }, "address1": { "type": "string", "maxLength": 60, "example": "123 47th Street", "description": "The first line of the merchant's address" } } } } }, "processingInformation": { "type": "object", "properties": { "reconciliationId": { "type": "string", "maxLength": 60, "example": "01234567", "description": "The reconciliation ID" }, "authorizationOptions": { "type": "object", "properties": { "aftIndicator": { "type": "boolean", "example": true, "description": "The AFT indicator" }, "authIndicator": { "type": "string", "example": 1, "description": "The authorization indicator" }, "ignoreCvResult": { "type": "boolean", "example": true, "description": "Ignore the CV result" }, "ignoreAvsResult": { "type": "boolean", "example": true, "description": "Ignore the AVS result" }, "initiator": { "type": "object", "properties": { "credentialStoredOnFile": { "type": "boolean", "example": true, "description": "Store the credential on file" }, "merchantInitiatedTransaction": { "type": "object", "properties": { "reason": { "type": "string", "maxLength": 2, "example": 1 } } } } }, "businessApplicationId": { "type": "string", "maxLength": 2, "example": "AA", "description": "The business application Id" }, "commerceIndicator": { "type": "string", "maxLength": 20, "example": "INDICATOR", "description": "The commerce indicator" }, "processingInstruction": { "type": "string", "maxLength": 50, "example": "ORDER_SAVED_EXPLICITLY", "description": "The processing instruction" } } } } }, "recipientInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "example": "John" }, "middleName": { "type": "string", "maxLength": 60, "example": "John" }, "lastName": { "type": "string", "maxLength": 60, "example": "John" }, "country": { "type": "string", "maxLength": 2, "example": "GB", "description": "The country code of the recipient's country" }, "accountId": { "type": "string", "maxLength": 10, "example": "2342312", "description": "The account ID of the recipient" }, "administrativeArea": { "type": "string", "maxLength": 2, "example": "GB", "description": "The administrative area of the recipient" }, "accountType": { "type": "string", "maxLength": 2, "example": "01", "description": "The account type of the recipient" }, "dateOfBirth": { "type": "string", "maxLength": 8, "example": "05111999", "description": "The date of birth of the recipient" }, "postalCode": { "type": "string", "maxLength": 10, "example": "170056", "description": "The postal code of the recipient" } } }, "merchantDefinedInformation": { "type": "array", "items": { "type": "object", "description": "Contains merchant-defined key-value pairs", "properties": { "key": { "type": "string", "maxLength": 10, "example": "customer_id", "description": "The key or identifier for the merchant-defined data field. Valid values are 1 to 100." }, "value": { "type": "string", "maxLength": 255, "example": "123456", "description": "The value you assign for your merchant-defined data field." } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "example": "192.168.1.1", "description": "The IP Address" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "typeSelectionIndicator": { "type": "string", "maxLength": 1, "example": "0", "description": "The card type selection indicator" } } } } } } }, "orderInformation": { "type": "object", "description": "If you need to include any fields within the data object, you must use the orderInformation object that is nested inside the data object. This ensures proper structure and compliance with the Unified Checkout schema. This top-level orderInformation field is not intended for use when working with the data object.", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "example": 21, "description": "This field defines the total order amount.\n" }, "currency": { "type": "string", "example": "USD", "description": "This field defines the currency applicable to the order.\n" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "example": "Visa Inc", "maxLength": 60, "description": "Name of the customer's company." }, "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)\nOptional field\n" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\nOptional field\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" } } }, "email": { "type": "string", "example": "john.doe@visa.com", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "middleName": { "type": "string", "example": "F", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "example": "Jr", "maxLength": 60, "description": "Customer's name suffix.\n" }, "title": { "type": "string", "example": "Mr", "maxLength": 60, "description": "Title.\n" }, "phoneNumber": { "type": "string", "example": 1234567890, "description": "Customer's phone number.\n" }, "phoneType": { "type": "string", "example": "day", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "CyberSource", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "example": "Victoria House", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "address3": { "type": "string", "example": "15-17 Gloucester Street", "description": "Third line of the shipping address.\n" }, "address4": { "type": "string", "example": "string", "maxLength": 60, "description": "Fourth line of the shipping address." }, "administrativeArea": { "type": "string", "example": "CA", "maxLength": 2, "description": "State or province of the shipping address.\n\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf)\n" }, "buildingNumber": { "type": "string", "example": "string", "maxLength": 15, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "GB", "description": "Country of the shipping address.\n\nUse the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n" }, "district": { "type": "string", "example": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "example": "Belfast", "maxLength": 50, "description": "City of the shipping address.\n" }, "postalCode": { "type": "string", "example": "BT1 4LS", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "First name of the recipient" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Last name of the recipient." } } } } } } }, "generateUnifiedCheckoutV1CaptureContext_request": { "type": "object", "properties": { "clientVersion": { "type": "string", "example": "1.0", "maxLength": 60, "description": "This field is used to specify the Unified Checkout API version your integration should use. \nThe recommended approach is to omit this field from the uc/v1/sessions API request. When omitted, Unified Checkout automatically uses the latest available version, ensuring access to the most recent enhancements and updates without requiring integration changes.\nIf included, the value must be provided in Major.Minor format (for example, 1.1 or 1.2).

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center but can be provided in the uc/v1/sessions API request.\n" }, "targetOrigins": { "type": "array", "items": { "type": "string", "example": "https://yourCheckoutPage.com" }, "description": "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Unified Checkout is defined by the scheme (protocol), hostname (domain) and port number (if used). \n\nYou must use https://hostname. The following is NOT supported: http://localhost\nWildcards are NOT supported. Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n - https://example.com\n - https://subdomain.example.com\n - https://example.com:8080

\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n targetOrigins: [\n \"https://example.com\",\n \"https://basket.example.com\",\n \"https://ecom.example.com\"\n ]

\n\nYou can supply up to seven origins within the targetOrigins field for nested iframes.\nIf the list of origins exceeds five ensure that you:\n - Compare the list of origins in the v1/sessions targetOrigins field against the location.ancestorOrigins of the browser. \n - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Unified Checkout from loading and display a client-side error message.

\n\nRequired field:\nThis field cannot be configured through the Merchant Experience Screens in the Business Center and must be provided on a per transaction basis via the uc/v1/sessions API request.\n" }, "allowedCardNetworks": { "type": "array", "items": { "type": "string", "maxLength": 30, "example": [ "VISA", "MASTERCARD" ] }, "description": "The list of card networks you want to use for this Unified Checkout transaction.\n\nUnified Checkout currently supports the following card networks:\n - VISA\n - MASTERCARD\n - AMEX\n - CARNET\n - CARTESBANCAIRES\n - CUP\n - DINERSCLUB\n - DISCOVER\n - EFTPOS\n - ELO\n - JAYWAN\n - JCB\n - JCREW\n - KCP\n - MADA\n - MAESTRO\n - MEEZA\n - PAYPAK\n - UATP

\n\nOptional field: \nThis field can be configured through the Merchant Experience Screens in the Business Center. The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n" }, "allowedPaymentTypes": { "type": "array", "items": { "type": "string" }, "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Unified Checkout:\n - APPLEPAY\n - CHECK\n - CLICKTOPAY\n - GOOGLEPAY\n - PANENTRY \n - PAZE \n - TMS_TOKEN

\n\nUnified Checkout supports the following wallet based payment methods:\n - PayPal v2: PAYPAL\n - Venmo: VENMO

\n\nUnified Checkout supports the following Buy Now, Pay Later (BNPL) payment methods:\n - Cash App Afterpay (US): AFTERPAY\n - Clearpay (GB): AFTERPAY\n - Afterpay (CA, AU, NZ): AFTERPAY

\n\nUnified Checkout supports the following Online Bank Transfer payment methods:\n - Bancontact (BE): BANCONTACT\n - DragonPay (PH): DRAGONPAY\n - iDEAL (NL): IDEAL\n - Multibanco (PT): MULTIBANCO\n - MyBank (IT, BE, PT, ES): MYBANK \n - Przelewy24|P24 (PL): PRZELEWY24\n - Tink Pay By Bank (DE, ES, FR, GB, IE, NL): TINKPAYBYBANK

\n\nUnified Checkout supports the following Post-Pay Reference payment methods:\n - Konbini (JP): KONBINI

\n\nPossible values when launching Click To Pay Drop-In UI:\n- CLICKTOPAY \n- PANENTRY

\n\n**Important:** \n - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards.\n - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester.\n - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field.

\n\nOptional field: \nThis field can be configured through the Merchant Experience Screens in the Business Center. The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n" }, "paymentConfigurations": { "type": "object", "description": "Allows per-transaction payment type configuration overrides.\n", "properties": { "GOOGLEPAY": { "type": "object", "properties": { "allowedAuthMethods": { "type": "array", "description": "When you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay.

\nBy default, Google sends both authentication types. When the complete mandate is used and Google Pay does not authenticate the transaction, then Unified Checkout completes the authentication request as part of the complete mandate.

\nPossible values:\n- PAN_ONLY: Google returns primary account number (PAN) values\n- CRYPTOGRAM_3DS: Google returns fully authenticated network token values.

\n\nOptional field: \nThis field can be configured through the Merchant Experience Screens in the Business Center. The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n", "minItems": 1, "items": { "type": "string" } } } }, "CLICKTOPAY": { "type": "object", "properties": { "autoCheckEnrollment": { "type": "boolean", "description": "Where Click to Pay is the payment type selected by the customer and the customer manually enters their card, the option to enroll their card in Click to Pay will be auto-checked if this field is set to \"true\".

\n\nThis is only available where the merchant and cardholder are based in the following countries and the billing type is set to \"FULL\" or \"PARTIAL\".\n - UAE\n - Argentina\n - Brazil\n - Chile\n - Colombia\n - Kuwait\n - Mexico\n - Peru\n - Qatar\n - Saudi Arabia\n - Ukraine\n - South Africa

\n\nIf false, this is not present or not supported in the market. Enrollment in Click to Pay is not checked for the customer when completing manual card entry.

\nOptional field:\nThis field can be configured through the Merchant Experience Screens in the Business Center. The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n" } } }, "PAYPAL": { "type": "object", "properties": { "vaultingEnabled": { "type": "boolean", "description": "Enables PayPal's Vaulted Payments flow within Unified Checkout. This provides a seamless checkout experience by storing payment methods for high-frequency and low average-order-value services such as rides, meal pickups, and other quick purchases.\nThis field is optional.\n" }, "tokenizedPaymentMethod": { "type": "object", "description": "Description of the vaulted payment method shown to the buyer during checkout and in their PayPal account.\n", "properties": { "usageType": { "type": "string", "description": "Indicates the type of vaulting relationship. Valid values:\n- \"MERCHANT\": Single merchant relationship.\n- \"PLATFORM\": Platform hosting multiple merchants.\n" }, "usagePattern": { "type": "string", "description": "Indicates how the merchant will primarily use the vaulted payment method. Valid values:\n- \"IMMEDIATE\": For on-demand, instant payments. These payments are variable in both amount and frequency and will be used to pay for goods or services before they are rendered to the buyer\n- \"DEFERRED\": For post-pay payments; that is, payments for goods or services that have already been rendered to the buyer\n- \"RECURRING_PREPAID\": For recurring payments before services are rendered.\n- \"RECURRING_POSTPAID\": For recurring payments after services are rendered.\n- \"THRESHOLD_PREPAID\": For payments when a pre-defined threshold is reached before services are rendered.\n- \"THRESHOLD_POSTPAID\": For payments when a pre-defined threshold is reached after services are rendered.\n" }, "allowMultipleTokens": { "type": "boolean", "description": "Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account.\n" } } }, "industryType": { "type": "string", "description": "Indicates the industry type.

\nPossible Values:\n- \"Events\"\n- \"Ticketing\"\n- \"Fuel\"\n- \"GAMING\"\n- \"DIGITAL GOODS\"\n- \"TELCO\"\n- \"Token Service Providers\"\n- \"Gambling\"\n- \"CFDs\"\n- \"car rental\"\n- \"hotel\"\n- \"transportation\"\n- \"travel package\"\n- \"Cruise Line\"\n- \"P2P\"\n- \"Retail\"\n- \"Food\"\n- \"Groceries\"\n- \"Ride Sharing\"\n- \"Taxi\"\n- \"Remittance\"\n- \"Crypto\"\n- \"Marketplaces\"\n" } } }, "TMS_TOKEN": { "type": "object", "description": "Allows a single Token Management Service (TMS) token to be presented within the Unified Checkout user interface. This enables customers to complete a payment using an existing stored credential.\n\nSupported token types:\n- customer\n- instrumentIdentifiers\n- paymentInstruments\n\n**Important note:**\nIf a customer token ID is provided and token creation (tokenCreate) is enabled for a paymentInstrument or instrumentIdentifier within the Complete Mandate, Unified Checkout will create a new payment instrument or instrument identifier and associate it with the specified customer token.\n", "properties": { "customer": { "type": "object", "description": "Existing customer token stored in the merchant token vault.\n", "properties": { "id": { "type": "string", "maxLength": 50, "example": "07C9CA98022DA498E063A2598D0AA400" } } }, "paymentInstruments": { "type": "array", "maxItems": 50, "description": "List of existing payment instrument tokens associated with the customer.\n", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "example": "404352E77F6A66E7E0634136CF0ABCD7" } } } }, "instrumentIdentifiers": { "type": "array", "maxItems": 50, "description": "List of existing instrument identifier tokens.\nIf not supplied, the default token type for the merchant's token vault is used.\n", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "example": "07C9CA98022DA498E063A2598D0AA400" } } } } } } } }, "appearance": { "type": "object", "description": "Controls the Unified Checkout UI appearance.", "properties": { "theme": { "type": "string", "maxLength": 25, "example": "LIGHT", "description": "Configure Unified Checkout theme.\n\nPossible values:\n- LIGHT

\n\nOptional field:
\nThis field cannot be configured through the Merchant Experience screens in the Business Center and must be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "variables": { "type": "object", "description": "CSS appearance variables. All variables optional.\n", "properties": { "backgroundColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FFFFFF", "description": "Main background color

\nOptional field::
This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request." }, "textColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#000000", "description": "Main text color

\nOptional field::
This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request." }, "headerBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#1A237E", "description": "Header background color

\nOptional field::
This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request." }, "headerForeground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FFFFFF", "description": "Header text/icon color

\nOptional field::
This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request." }, "headerAvatarBackgroundColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#3F51B5", "description": "Avatar background in header

\nOptional field::
This field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request." }, "headerAvatarForegroundColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FFFFFF", "description": "Avatar text/icon color

\nOptional field::
This field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request." }, "inputBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FAFAFA", "description": "Input field background

\nOptional field::
This field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request." }, "inputColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#333333", "description": "Input text color

\nOptional field::
This field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request." }, "inputPlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#AAAAAA", "description": "Placeholder text color

\nOptional field::
This field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request." }, "inputBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#CCCCCC", "description": "Input border color

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputBorderStyle": { "type": "string", "example": "solid", "description": "Border style (solid, dashed, dotted)

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputBorderRadius": { "type": "string", "example": "6px", "description": "Border radius with CSS unit

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputHoverBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#EFEFEF", "description": "Background on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputHoverColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#444444", "description": "Text color on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputHoverPlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#999999", "description": "Placeholder color on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputHoverBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#BBBBBB", "description": "Border color on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputHoverBorderStyle": { "type": "string", "example": "dotted", "description": "Border style on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputFocusedBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FFFFFF", "description": "Background when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputFocusedColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#222222", "description": "Text color when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputFocusedPlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#888888", "description": "Placeholder color when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputFocusedBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#AAAAAA", "description": "Border color when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputFocusedBorderStyle": { "type": "string", "example": "solid", "description": "Border style when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputActiveBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#F0F0F0", "description": "Background when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputActiveColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#111111", "description": "Text color when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputActivePlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#777777", "description": "Placeholder color when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputActiveBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#999999", "description": "Border color when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputActiveBorderStyle": { "type": "string", "example": "solid", "description": "Border style when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputPressedBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#E0E0E0", "description": "Background when pressed

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputPressedColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#000000", "description": "Text color when pressed

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputPressedPlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#666666", "description": "Placeholder color when pressed

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputPressedBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#888888", "description": "Border color when pressed

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputPressedBorderStyle": { "type": "string", "example": "solid", "description": "Border style when pressed

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputErrorBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FFEBEE", "description": "Background on error

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputErrorColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#FF0000", "description": "Text color on error

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputErrorPlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#EF9A9A", "description": "Placeholder color on error

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputErrorBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#F44336", "description": "Border color on error

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputErrorBorderStyle": { "type": "string", "example": "solid", "description": "Border style on error

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputValidBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#E8F5E9", "description": "Background when valid

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputValidColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#008000", "description": "Text color when valid

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputValidPlaceholderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#A5D6A7", "description": "Placeholder color when valid

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputValidBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#4CAF50", "description": "Border color when valid

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "inputValidBorderStyle": { "type": "string", "example": "solid", "description": "Border style when valid

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#E0E0E0", "description": "Button background

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" }, "buttonForeground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#333333", "description": "Button text/icon color

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" }, "buttonShape": { "type": "string", "example": "filled", "description": "Button shape

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" }, "buttonBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#CCCCCC", "description": "Button border color

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" }, "buttonBorderStyle": { "type": "string", "example": "solid", "description": "Border Style

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonBorderRadius": { "type": "string", "example": "4px", "description": "Border radius with unit

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" }, "buttonHoverBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#F0F0F0", "description": "Background on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonHoverForeground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#444444", "description": "Text color on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonHoverBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#BBBBBB", "description": "Border color on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonHoverBorderStyle": { "type": "string", "example": "dashed", "description": "Border style on hover

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonFocusBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#C0C0C0", "description": "Background when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonFocusForeground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#111111", "description": "Text color when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonFocusBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#999999", "description": "Border color when focused

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonActiveBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#D0D0D0", "description": "Background when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonActiveForeground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#222222", "description": "Text color when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonActiveBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#AAAAAA", "description": "Border color when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonActiveBorderStyle": { "type": "string", "example": "solid", "description": "Border style when active

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonDisabledBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#F5F5F5", "description": "Background color when disabled

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonDisabledForeground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#888888", "description": "Text color when disabled

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonDisabledBorderColor": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#DDDDDD", "description": "Border color when disabled

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "fontFamily": { "type": "string", "example": "Roboto Slab, serif", "description": "Font Family

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" }, "borderRadius": { "type": "string", "example": "5px", "description": "Global border radius

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center. If required, should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "paymentSelectionBackground": { "type": "string", "pattern": "^#([A-Fa-f0-9]{6})$", "example": "#F5F5F5", "description": "Background for payment method list

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis by passing a value in the uc/v1/sessions API request.\n" } } } } }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Country the purchase is originating from (e.g. country of the merchant). \nUse the two-character ISO Standard
\n\nCountry must be in the format: ISO 3166 country code

\n\nRequired field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center and must be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "locale": { "type": "string", "example": "en_US", "description": "Localization of the User experience conforming to the ISO 639 language standards and two-character ISO Standard Country Code.

\n\nLocale must be in the format: _\n\nPlease refer to list of [supported locales through Unified Checkout](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-appendix-languages.html)

\n\nRequired field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center and must be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "buttonType": { "type": "string", "example": null, "description": "Changes the label on the payment button within Unified Checkout .

\n\nPossible values:\n- ADD_CARD\n- CARD_PAYMENT\n- CHECKOUT\n- CHECKOUT_AND_CONTINUE\n- DEBIT_CREDIT\n- DONATE\n- PAY\n- PAY_WITH_CARD\n- SAVE_CARD\n- SUBSCRIBE_WITH_CARD

\n\nThe default value is CHECKOUT.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "captureMandate": { "type": "object", "properties": { "billingType": { "type": "string", "example": "FULL", "maxLength": 25, "description": "Configure Unified Checkout to capture billing address information.\n\nPossible values:\n- FULL: Capture complete billing address information.\n- PARTIAL: Capture first name, last name, country and postal/zip code only.\n- NONE: Capture only first name and last name.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "requestEmail": { "type": "boolean", "description": "Configure Unified Checkout to capture customer email address.\n\nPossible values:\n - True\n - False

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "requestPhone": { "type": "boolean", "description": "Configure Unified Checkout to capture customer phone number.\n\nPossible values:\n- True\n- False

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "requestShipping": { "type": "boolean", "description": "Configure Unified Checkout to capture customer shipping details.\n\nPossible values:\n- True\n- False

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "shipToCountries": { "type": "array", "description": "List of countries available to ship to. \nUse the two-character ISO Standard Country Codes.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n", "items": { "type": "string", "example": "US", "maxLength": 2 } }, "showAcceptedNetworkIcons": { "type": "boolean", "description": "Configure Unified Checkout to display the list of accepted card networks beneath the payment button\n\nPossible values:\n- True\n- False

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "showConfirmationStep": { "type": "boolean", "description": "Configure Unified Checkout to display the final confirmation screen when using Click to Pay.
\nWhere 'BillingType'= NONE and 'requestShipping'= FALSE and the customer is using an existing Click to Pay card as their chosen payment method, a final confirmation screen can be removed allowing the customer to check out as soon as they have selected their payment method from within their Click to Pay card tray.\n\nPossible values:\n- True\n- False

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "requestSaveCredentials": { "type": "boolean", "description": "Configure Unified Checkout to display the \"Save card for future use\" checkbox.
\n\nConfigurable check box that will show in a Manual card entry flow to allow a Cardholder to give consent to store their manually entered credential with the Merchant that they are paying.
\nApplicable when manually entering the details and not enrolling in Click to Pay.\n\nPossible values:\n - True \n - False

\n\n**Use Cases:**\n\n**Offer consumers option to save their card in Unified Checkout:** \n- Include the captureMandate.requestSaveCard field in the capture context request and set it to true.\n- When set to true, this will show a checkbox with the message 'Save card for future use' in Unified Checkout.\n- When selected this provides a response in both the Transient Token and Get Credentials API response.

\n\n**Do not offer consumers the option to save their card in Unified Checkout:** \n- Include the captureMandate.requestSaveCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- When set to false, the save card option is not shown to consumers when manually entering card details.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "comboCard": { "type": "boolean", "description": "Configure Unified Checkout to display combo card at checkout.
\n\nA combo debit/credit card is a single card that functions both as a Debit/Credit card. \nUnified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card.\n**Important:** This is applicable to Visa cards only.\n\nPossible values:\n- True \n- False

\n\n**Use Cases:**\n\n**Offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to true.\n- When set to true, Combo Card selection is shown at checkout

\n\n**Do not offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- The Combo Card selection is not shown at checkout.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "CPF": { "type": "object", "properties": { "required": { "type": "boolean", "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False

\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.

\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } } } }, "completeMandate": { "type": "object", "description": "The completeMandate object is designed to provide instructions for orchestrating payment services. Unified Checkout is capable of orchestrating a number of services on your behalf.

\nBy providing this field in the capture context Unified Checkout will initiate services on your behalf from the browser, simplifying your integration.\n", "properties": { "type": { "type": "string", "example": "AUTH", "maxLength": 25, "description": "This field is used to indicate how a payment should be processed.\n\nPossible values:\n- AUTH: Use this value when you want to authorize a payment within Unified Checkout without capturing it immediately. Payment types that initiate an immediate transfer of funds are NOT allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned. A merchant would need to perform their own capture via API where applicable.

\n- CAPTURE: Use this value when you want to perform a sale within Unified Checkout and capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.

\n- PREFER_AUTH: Use this value to offer multiple alternative payment options during the Unified Checkout experience. This option authorizes the payment without immediate capture, where available. It will perform a \"CAPTURE\" where an \"AUTH\" is not allowed by the payment type. Transactions can be AUTHORIZED, CAPTURED, or PENDING. If an \"AUTH\" is performed, a merchant would need to perform their own capture via API where applicable.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "tms": { "type": "object", "description": "Configure Unified Checkout to create a TMS token at the end of the payment journey\n", "properties": { "tokenCreate": { "type": "boolean", "example": true, "description": "Use this when you want to create a token from the card/bank data in your payment request. \n\nPossible values:\n - True\n - False

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "tokenTypes": { "type": "array", "items": { "type": "string", "maxLength": 30, "example": [ "CUSTOMER" ] }, "description": "Cybersource tokens types you are performing a create on.\nIf not supplied the default token type for the merchants token vault will be used.\n\nPossible values:\n- Customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "decisionManager": { "type": "boolean", "description": "Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration.\n\nPossible values:\n - True\n - False

\n\nSetting this value to True indicates that device fingerprinting will be executed to add additional information for risk service\nSetting this value to False (or not provided) indicates that you do not wish to run device fingerprinting and skip decision manager services.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "consumerAuthentication": { "type": "string", "description": "Configure Unified Checkout to determine whether Consumer Authentication is invoked during service orchestration.\n\nPossible values:\n\n - PASSKEY\n - 3DS\n - NONE

\n\nSetting this value to PASSKEY performs Payer Authentication with an existing Visa Payment Passkey or create a new Passkey (Post a traditional 3DS Authentication) attempt to perform authentication using the Payer Authentication Service.
\nSetting this value to 3DS will attempt to perform authentication using the Payer Authentication Service.
\nSetting this value to NONE indicates that you do not wish to perform authentication using the Payer Authentication Service.

\n\nOptional field:\nThis field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "transientTokenResponseOptions": { "type": "object", "properties": { "includeCardPrefix": { "type": "boolean", "description": "Use the transientTokenResponseOptions.includeCardPrefix field to choose your preferred card number prefix length: 6-digit, 8-digit, or no card number prefix.\n\nPossible values:\n- True\n- False

\n\nTo select the type of card number prefix:\n- No field included: A 6-digit prefix is returned (default)\n- True: An 8-digit prefix is returned\n- False: No prefix is returned

\n\nThe following conditions apply:\n- 8-digit card number prefixes only apply to Discover, JCB, Mastercard, UnionPay, and Visa brands with 16-digit card numbers or more.\n- Any card with less than 16-digit numbers will return a 6-digit prefix even when the transientTokenResponseOptions.includeCardPrefix field is set to true.\n- Any card brand other than Discover, JCB, Mastercard, UnionPay, or Visa will return a 6-digit prefix even when the transientTokenResponseOptions.includeCardPrefix field is set to true.\n- If any card brand is co-branded with Discover, JCB, Mastercard, UnionPay, or Visa, an 8-digit prefix will be returned if the transientTokenResponseOptions.includeCardPrefix field is set to true.

\n\n**Important:** \nIf your application does NOT require a card number prefix for routing or identification purposes, set the transientTokenResponseOptions.includeCardPrefix field to False. This will minimize your personal data exposure.

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center and if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "data": { "type": "object", "properties": { "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n \n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n \nThis field is supported for Visa, Mastercard and Discover Transactions.\n \n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n \n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n \n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n \n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" } } }, "streetAddress": { "type": "string", "maxLength": 150, "description": "Acquirer street name." }, "city": { "type": "string", "maxLength": 100, "description": "Acquirer city." }, "state": { "type": "string", "maxLength": 10, "description": "Acquirer state." }, "postalCode": { "type": "string", "maxLength": 20, "description": "Acquirer postal code." }, "country": { "type": "string", "maxLength": 10, "description": "Acquirer country." }, "serviceProvidername": { "type": "string", "maxLength": 50, "description": "Contains transfer service provider name." } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "example": "21.20", "description": "This field defines the total order amount.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. \nWhen you include this field in your request, you must also include the **totalAmount** field.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "currency": { "type": "string", "maxLength": 3, "example": "USD", "description": "This field defines the currency applicable to the order.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "example": 2.5, "description": "This field defines the surcharge amount applicable to the order.\n" } } }, "subTotalAmount": { "type": "string", "example": 5, "description": "This field defines the sub total amount applicable to the order.\n" }, "serviceFeeAmount": { "type": "string", "example": 5, "description": "This field defines the service fee amount applicable to the order.\n" }, "taxAmount": { "type": "string", "example": 10, "description": "This field defines the tax amount applicable to the order.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "taxId": { "type": "string", "maxLength": 15, "example": "1234", "description": "Your tax ID number to use for the alternate tax amount. \nRequired if you set alternate tax amount to any value (including zero). \nYou may send this field without sending alternate tax amount.\n" }, "type": { "type": "string", "maxLength": 9, "example": "N", "description": "Indicates the type of tax data for the taxDetails object.

\n\nPossible values:\n- alternate\n- local\n- national\n- vat\n- other\n- green\n" } } } } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field:.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "example": "Visa Inc", "maxLength": 60, "description": "Name of the customer's company." }, "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field:\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" } } }, "email": { "type": "string", "example": "john.doe@visa.com", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "middleName": { "type": "string", "example": "F", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "example": "Jr", "maxLength": 60, "description": "Customer's name suffix.\n" }, "title": { "type": "string", "example": "Mr", "maxLength": 60, "description": "Title.\n" }, "phoneNumber": { "type": "string", "example": 1234567890, "description": "Customer's phone number.\n" }, "phoneType": { "type": "string", "example": "day", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "CyberSource", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "example": "Victoria House", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "address3": { "type": "string", "example": "15-17 Gloucester Street", "description": "Third line of the shipping address.\n" }, "address4": { "type": "string", "example": "string", "maxLength": 60, "description": "Fourth line of the shipping address." }, "administrativeArea": { "type": "string", "example": "CA", "maxLength": 2, "description": "State or province of the shipping address.\n\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf)\n" }, "buildingNumber": { "type": "string", "example": "string", "maxLength": 15, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "GB", "description": "Country of the shipping address.\n\nUse the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n" }, "district": { "type": "string", "example": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "example": "Belfast", "maxLength": 50, "description": "City of the shipping address.\n" }, "postalCode": { "type": "string", "example": "BT1 4LS", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "First name of the recipient" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Last name of the recipient." } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "example": "electronics", "description": "Code identifying the product." }, "productName": { "type": "string", "maxLength": 255, "example": "smartphone", "description": "Name of the product." }, "productSku": { "type": "string", "maxLength": 255, "example": "SKU12345", "description": "Stock Keeping Unit identifier" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "example": 2, "description": "Quantity of the product" }, "unitPrice": { "type": "string", "maxLength": 15, "example": "399.99", "description": "Price per unit" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "example": "EA", "description": "Unit of measure (e.g. EA, KG, LB)" }, "totalAmount": { "type": "string", "maxLength": 13, "example": "799.98", "description": "Total amount for the line item" }, "taxRate": { "type": "string", "description": "The tax rate of an item. Maximum of 2 decimal places. Valid range is 0 or 0.01 to 99.99.\n", "maxLength": 5 }, "shippingCountryCode": { "type": "string", "maxLength": 10, "description": "Country where item will be shipped" }, "taxAmount": { "type": "string", "maxLength": 15, "example": "64.00", "description": "Tax amount applied" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "example": "Y", "description": "Indicates if tax applied after discount" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "example": "N", "description": "Tax status indicator" }, "taxTypeCode": { "type": "string", "maxLength": 4, "example": "VAT", "description": "Tax type code" }, "amountIncludesTax": { "type": "boolean", "example": false, "description": "Indicates if amount includes tax" }, "typeOfSupply": { "type": "string", "maxLength": 2, "example": "GS", "description": "Type of supply" }, "commodityCode": { "type": "string", "maxLength": 15, "example": "123456", "description": "Commodity code" }, "discountAmount": { "type": "string", "maxLength": 13, "example": "10.00", "description": "Discount amount applied" }, "discountApplied": { "type": "boolean", "example": true, "description": "Indicates if discount applied" }, "discountRate": { "type": "string", "maxLength": 6, "example": "0.05", "description": "Discount rate applied" }, "invoiceNumber": { "type": "string", "maxLength": 23, "example": "INV-001", "description": "Invoice number for the line item" }, "taxDetails": { "type": "object", "properties": { "type": { "type": "string", "example": "VAT", "description": "Type of tax" }, "amount": { "type": "string", "maxLength": 13, "example": 5.99, "description": "Tax amount" }, "rate": { "type": "string", "maxLength": 6, "example": 20, "description": "Tax rate" }, "code": { "type": "string", "maxLength": 4, "example": "VAT", "description": "Tax code" }, "taxId": { "type": "string", "maxLength": 15, "example": "TAXID12345", "description": "Tax Identifier" }, "applied": { "type": "boolean", "example": true, "description": "Indicates if tax applied" }, "exemptionCode": { "type": "string", "maxLength": 1, "example": "E", "description": "Tax exemption code" } } }, "fulfillmentType": { "type": "string", "example": "Delivery", "description": "Fulfillment type" }, "weight": { "type": "string", "maxLength": 9, "example": "1.5", "description": "Weight of the product" }, "weightIdentifier": { "type": "string", "maxLength": 1, "example": "N", "description": "Weight identifier" }, "weightUnit": { "type": "string", "maxLength": 2, "example": "KG", "description": "Unit of weight of the product" }, "referenceDataCode": { "type": "string", "maxLength": 150, "example": "REFCODE", "description": "Reference data code" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "example": "REF123", "description": "Reference data number" }, "unitTaxAmount": { "type": "string", "maxLength": 15, "example": "3.20", "description": "Unit tax amount" }, "productDescription": { "type": "string", "maxLength": 30, "example": "Latest model smartphone", "description": "Description of the product" }, "giftCardCurrency": { "type": "string", "maxLength": 3, "example": "USD", "description": "Gift card currency" }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "example": "Residential", "description": "Shipping destination types" }, "gift": { "type": "boolean", "example": false, "description": "Indicates if item is a gift" }, "passenger": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 50, "example": "Residential", "description": "Passenger type" }, "status": { "type": "string", "maxLength": 32, "example": "Gold", "description": "Passenger status" }, "phone": { "type": "string", "maxLength": 15, "example": "123456789", "description": "Passenger phone number" }, "firstName": { "type": "string", "maxLength": 60, "example": "John", "description": "Passenger first name" }, "lastName": { "type": "string", "maxLength": 60, "example": "Doe", "description": "Passenger last name" }, "id": { "type": "string", "maxLength": 40, "example": "AIR1234567", "description": "Passenger ID" }, "email": { "type": "string", "maxLength": 50, "example": "john.doe@example.com", "description": "Passenger email" }, "nationality": { "type": "string", "maxLength": 2, "example": "US", "description": "Passenger nationality" } } } } } }, "invoiceDetails": { "type": "object", "properties": { "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. \n\nThese fields are used to display descriptive information about a transaction on the customer's American Express card statement. \n\nWhen you send TAA fields, start with amexdata_taa1, then ...taa2, and so on. \n\nSkipping a TAA field causes subsequent TAA fields to be ignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } }, "invoiceNumber": { "type": "string", "maxLength": 255, "example": "electronics", "description": "Invoice number" }, "productDescription": { "type": "string", "maxLength": 255, "example": "electronics", "description": "Product description" } } }, "shippingDetails": { "type": "object", "properties": { "shippingMethod": { "type": "string", "maxLength": 32, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. \nThe default is the postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. \nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "example": "CPF", "description": "The type of document issued that identifies the account owner/authorized signer\n" }, "id": { "type": "string", "maxLength": 26, "example": "12345678900", "description": "CPF Number (Brazil). Must be 11 digits in length.\n" }, "issuedBy": { "type": "string", "maxLength": 6, "example": "US", "description": "Indicates the identity of the issuing authority, usually a state or country code\n" } } } }, "merchantCustomerId": { "type": "string", "maxLength": 100, "example": "M123456767", "description": "The Merchant Customer ID

\n\n Optional field:\n This field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "companyTaxId": { "type": "string", "maxLength": 9, "example": "", "description": "The Company Tax ID

\n\n Optional field:\n This field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "dateOfBirth": { "type": "string", "maxLength": 10, "example": "12/03/1976", "description": "The date of birth

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "language": { "type": "string", "maxLength": 10, "example": "English", "description": "The preferred language

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "example": "TC50171_3" }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "example": "DEV12345" }, "solutionId": { "type": "string", "maxLength": 8, "example": "SOL1234" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "challengeCode": { "type": "string", "maxLength": 2, "example": "01", "description": "The challenge code

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "messageCategory": { "type": "string", "maxLength": 2, "example": "01", "description": "The message category

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "acsWindowSize": { "type": "string", "maxLength": 2, "example": "01", "description": "The acs window size

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.

\n\nSpecify one of the following values for this field:\n - AIR: Airline purchase\n\nImportant Required for American Express SafeKey (U.S.).\n - ACC: Accommodation Rental\n - ACF: Account funding\n - CHA: Check acceptance\n - DIG: Digital Goods\n - DSP: Cash Dispensing\n - GAS: Fuel\n - GEN: General Retail\n - LUX: Luxury Retail\n - PAL: Prepaid activation and load\n - PHY: Goods or services purchase\n - QCT: Quasi-cash transaction\n - REN: Car Rental\n - RES: Restaurant\n - SVC: Services\n - TBD: Other\n - TRA: Travel
\n\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 25, "example": "Euro Electronics", "description": "The name of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "alternateName": { "type": "string", "maxLength": 25, "example": "Smyth Holdings PLC", "description": "The alternate name of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "contact": { "type": "string", "maxLength": 25, "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 50, "example": "New York", "description": "The locality of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "phone": { "type": "string", "maxLength": 15, "example": "555-555-123", "description": "The phone number of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "country": { "type": "string", "maxLength": 2, "example": "US", "description": "The country code of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "postalCode": { "type": "string", "maxLength": 10, "example": "170056", "description": "The postal code of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "example": "NY", "description": "The administrative area of the merchant

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "address1": { "type": "string", "maxLength": 60, "example": "123 47th Street", "description": "The first line of the merchant's address

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" } } }, "processingInformation": { "type": "object", "properties": { "reconciliationId": { "type": "string", "maxLength": 60, "example": "01234567", "description": "The reconciliation ID" }, "purposeOfPayment": { "type": "string", "maxLength": 12, "description": "This field is applicable for AFT and OCT transactions. \nFor list of supported values, please refer to Developer Guide.\n" }, "authorizationOptions": { "type": "object", "properties": { "aftIndicator": { "type": "boolean", "example": true, "description": "The AFT indicator

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "authIndicator": { "type": "string", "example": 1, "description": "The authorization indicator

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "ignoreCvResult": { "type": "boolean", "example": true, "description": "Ignore the CV result

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "ignoreAvsResult": { "type": "boolean", "example": true, "description": "Ignore the AVS result

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "initiator": { "type": "object", "properties": { "credentialStoredOnFile": { "type": "boolean", "example": true, "description": "Store the credential on file

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "merchantInitiatedTransaction": { "type": "object", "properties": { "reason": { "type": "string", "maxLength": 2, "example": 1 } } } } } } }, "recurringOptions": { "type": "object", "properties": { "firstRecurringPayment": { "type": "boolean", "description": "Flag that indicates whether this transaction is the first in a series of recurring payments.\n\nThis field is supported only for **Atos**, **FDC Nashville Global**, and **OmniPay Direct**.\n\nPossible values:\n - `true` Indicates this is the first payment in a series of recurring payments\n - `false` (default) Indicates this is not the first payment in a series of recurring payments.\n", "default": false } } }, "bankTransferOptions": { "type": "object", "properties": { "secCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n" } } }, "businessApplicationId": { "type": "string", "maxLength": 2, "example": "AA", "description": "The business application Id

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "commerceIndicator": { "type": "string", "maxLength": 20, "example": "INDICATOR", "description": "The commerce indicator

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "processingInstruction": { "type": "string", "maxLength": 50, "example": "ORDER_SAVED_EXPLICITLY", "description": "The processing instruction

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "recipientInformation": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 50, "description": "Identifier for the recipient's account.\nThis field is applicable for AFT transactions.\n" }, "accountType": { "type": "string", "maxLength": 2, "description": "Identifies the recipient's account type.\nThis field is applicable for AFT transactions.\n\nValid values are:\n - `00` for Other\n - `01` for Routing Transit Number (RTN) + Bank Account Number (BAN)\n - `02` for International Bank Account Number (IBAN)\n - `03` for Card Account\n - `06` for Bank Account Number (BAN) + Bank Identification Code (BIC), also known as a SWIFT code\n" }, "firstName": { "type": "string", "maxLength": 35, "description": "First name of the recipient.\nThis field is applicable for AFT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "middleName": { "type": "string", "maxLength": 30, "description": "Middle name of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "The street address of the recipient\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "The state or province of the recipient.\nThis field is applicable for AFT transactions when the recipient country is US or CA. Else it is optional.\n\nMust be a two character value\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Partial postal code for the recipient's address. For example, if the postal code is **NN5 7SG**, the value for\nthis field should be the first part of the postal code: **NN5**. This field is a _pass-through_, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "country": { "type": "string", "maxLength": 2, "description": "The country associated with the address of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Account Owner phone number" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "The city of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported.\nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" } } }, "senderInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 30, "description": "First name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor.\n" }, "middleName": { "type": "string", "maxLength": 30, "description": "Middle name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of the sender.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" }, "address1": { "type": "string", "maxLength": 35, "description": "The street address of the sender.\nThis field is applicable for AFT transactions. \n\nOnly alpha numeric values are supported. \nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "The city or locality of the sender.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. \nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "The state or province of the sender.\nThis field is applicable for AFT transactions when the sender country is US or CA. Else it is optional.\n\nMust be a two character value\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code of sender.\n" }, "countryCode": { "type": "string", "maxLength": 2, "description": "The country associated with the address of the sender.\nThis field is applicable for AFT transactions. \n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Sender phone number" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Sender's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" }, "accountType": { "type": "string", "maxLength": 2, "description": "Identifies the sender's account type.\n This field is applicable for AFT transactions.\n\n Valid values are:\n - `00` for Other\n - `01` for Routing Transit Number (RTN) + Bank Account Number (BAN)\n - `02` for International Bank Account Number (IBAN)\n - `03` for Card Account\n - `04` for Email\n - `05` for Phone Number\n - `06` for Bank Account Number (BAN) + Bank Identification Code (BIC), also known as a SWIFT code\n - `07` for Wallet ID\n - `08` for Social Network ID\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 50, "description": "The account number of the entity funding the transaction. The value for this field can be a payment card account number or bank account number.\n" }, "fundsSource": { "type": "string", "maxLength": 2, "description": "Source of funds.\nPossible Values:\n - `01`: Credit.\n - `02`: Debit.\n - `03`: Prepaid.\n - `04`: Deposit Account.\n - `05`: Mobile Money Account.\n - `06`: Cash.\n - `07`: Other.\n - `V5`: Debits / deposit access other than those linked to the cardholders' scheme.\n - `V6`: Credit accounts other than those linked to the cardholder's scheme.\n" } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "example": "192.168.1.1", "description": "The IP Address

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "typeSelectionIndicator": { "type": "string", "maxLength": 1, "example": "0", "description": "The card type selection indicator

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } } } }, "installmentInformation": { "type": "object", "properties": { "sequence": { "type": "integer", "maximum": 999, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantDefinedInformation": { "type": "array", "items": { "type": "object", "description": "Contains merchant-defined key-value pairs

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n", "properties": { "key": { "type": "string", "maxLength": 10, "example": "customer_id", "description": "The key or identifier for the merchant-defined data field. Valid values are 1 to 100.

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" }, "value": { "type": "string", "maxLength": 255, "example": "123456", "description": "The value you assign for your merchant-defined data field.

\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per\u2011transaction basis in the uc/v1/sessions API request.\n" } } } } } } } }, "postBatch_request": { "type": "object", "required": [ "included", "notificationEmail" ], "properties": { "type": { "type": "string", "default": "oneOff", "description": "Valid Values:\n * oneOff\n * amexRegistration\n" }, "included": { "type": "object", "properties": { "tokens": { "type": "array", "items": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 32, "example": "7030000000000116236" }, "expirationMonth": { "type": "string", "minLength": 2, "maxLength": 2, "example": "12" }, "expirationYear": { "type": "string", "minLength": 4, "maxLength": 4, "example": "2020" } } } } } }, "merchantReference": { "type": "string", "example": "TC50171_3", "maxLength": 255, "description": "Reference used by merchant to identify batch." }, "notificationEmail": { "type": "string", "format": "email", "example": "test@cybs.com", "description": "Email used to notify the batch status." } } }, "bankAccountValidationRequest_request": { "type": "object", "required": [ "processingInformation", "paymentInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client reference code", "example": "TC50171_3" } } }, "processingInformation": { "type": "object", "required": [ "validationLevel" ], "properties": { "validationLevel": { "type": "integer", "description": "Enter 1 for routing and account number validation.\n" } } }, "paymentInformation": { "type": "object", "description": "Payment information for account validation. Either tokenized payment data or bank account details must be provided, but not both.\nWhen token information is provided, the bank object becomes optional. Only one token type may be included per request.\n", "properties": { "customer": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "Unique identifier for the Customer token. When this value is included in your request, the bank object becomes optional.", "example": "AB12C34D56E78F90" } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "Unique identifier for the Payment Instrument token. When this value is included in your request, the bank object becomes optional.", "example": "7010000000000001234" } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "Unique identifier for the Instrument Identifier token. When this value is included in your request, the bank object becomes optional.", "example": "7010000000000001111" } } }, "bank": { "type": "object", "required": [ "routingNumber", "account" ], "properties": { "routingNumber": { "type": "string", "minLength": 9, "maxLength": 9, "description": "Bank routing number. This is also called the transit number.\n\nNon-Negative String, containing only digits.\n", "example": "123456789" }, "account": { "type": "object", "required": [ "number" ], "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account Number.\n\nNon-Negative String, containing only digits.\n", "example": "12345678901234577" } } } } } } }, "tokenInformation": { "type": "object", "description": "Optional token information for BAVS detokenization. Only one token type may be provided.", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token for BAVS detokenization. A 64 hexadecimal character identifier representing captured payment credentials.", "example": "1A2B3C4D5E6F7890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT for BAVS detokenization. Contains encrypted bank account information from Flex microform or Unified Payment checkout.", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } } } }, "createOffer_request": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Merchant-generated order reference or tracking number. \nIt is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "applicationName": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource." }, "applicationVersion": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Version of the CyberSource application or integration used for a transaction." }, "applicationUser": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method." }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "x-nullable": true, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "x-nullable": true, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 11, "x-nullable": true, "description": "First 11 digits of the card number for which an offer is being sought. Mandatory when type=DCC." } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "originalAmount": { "type": "string", "maxLength": 15, "x-nullable": true, "description": "The amount of the sale in the merchant's currency. Mandatory when type=DCC, optional otherwise. This value cannot be negative. You can include a decimal point (.), but no other special characters." }, "originalCurrency": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "Original currency of the transaction in the merchant's currency. Mandatory when type=DCC, optional otherwise.\nUse three-character alphabetic [ISO 4271 Currency Codes.](https://developer.cybersource.com/docs/cybs/en-us/currency-codes/reference/all/na/currency-codes/currency-codes.html)\n" } } }, "currencyConversion": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "default": "DCC", "x-nullable": true, "description": "Valid Values:\n- `DCC`: Dynamic Currency Conversion\n- `MCP`: Multi-Currency Pricing\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 16, "x-nullable": true, "description": "Identifier for the terminal used by the merchant's to process the transaction." }, "entryMode": { "type": "string", "maxLength": 30, "x-nullable": true, "description": "Valid Values:\n- 'KEYED'\n- 'SWIPED'\n- 'CONTACT'\n- 'CONTACTLESS'\n\nHow the transaction information was captured. Optional. `KEYED` can refer to MOTO on a terminal, MOTO on a virtual terminal, or eCommerce. All other options refer to card holder present transactions. Optional.\n" } } } }, "example": { "clientReferenceInformation": { "code": "REF-101-GBP-909", "partner": { "developerId": "123456", "solutionId": "123456" }, "applicationName": "REST API", "applicationVersion": "1.23.44", "applicationUser": "Bob" }, "paymentInformation": { "card": { "number": "41111111111" } }, "orderInformation": { "amountDetails": { "originalAmount": "100.00", "originalCurrency": "GBP" }, "currencyConversion": { "type": "DCC" } }, "pointOfSaleInformation": { "terminalId": "12345678", "entryMode": "CONTACT" } } }, "enrollCard_request": { "required": [ "billTo", "clientCorrelationId", "consumerIdentity", "deviceInformation", "paymentInformation", "buyerInformation" ], "type": "object", "properties": { "clientCorrelationId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Client Correlation Id used during the tokenization or during FIDO assertion." }, "deviceInformation": { "type": "object", "description": "Device and Application instance data. Identifies the device and application from which the consumer is making the payment request.", "required": [ "applicationName", "deviceData", "ipAddress", "fingerprintSessionId" ], "properties": { "userAgent": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 2048, "description": "Base64 Encoded userAgent string of the connecting client application, with no padding. \nUser agent string of the connecting client application. \nConditionality: \n- Required for browsers\n- Optional for non-browsers\n" }, "applicationName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Name of the connecting client application." }, "fingerprintSessionId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Device Fingerprinting Session identifier." }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 2, "maxLength": 2, "format": "ISO 3166-1-alpha2", "description": "ISO 3166-1 alpha-2 country code. The country where the Consumer is accessing the service from." }, "deviceData": { "type": "object", "description": "Device data.", "required": [ "type", "brand" ], "properties": { "type": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Type of device being used. \nExample values are: \n- Mobile Phone\n- Tablet\n- Tablet\n- Laptop\n- Personal Assistant\n- Connected Auto\n- Home Appliance\n- Wearable\n- Stationary Computer\n- E-Reader\n- Handheld Gaming Devices\n- Other\n" }, "manufacturer": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Manufacturer of the device." }, "brand": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Brand name of the device." }, "model": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Specific model of the device." } } }, "ipAddress": { "type": "string", "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:[^0-9]*(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", "minLength": 0, "maxLength": 255, "description": "IP address of the consumer's device." }, "clientDeviceId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Unique identifier of the consumer's device." } } }, "buyerInformation": { "type": "object", "description": "Buyer Information data. Contains consumer identification and preference details.", "properties": { "merchantCustomerId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Reference identifier of the Consumer." }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification" }, "id": { "type": "string", "description": "The value of the identification type" }, "issueBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf `**type** = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf `**type** = PASSPORT`, this is the Issuing country for the cardholder's passport.\n" } } } }, "language": { "type": "string", "description": "(Required) Consumer-provided language choice. ISO 639-1 Code" } } }, "billTo": { "required": [ "country", "countryCallingCode", "phoneNumber" ], "type": "object", "description": "Consumer billing information. Required during card enrollment to identify the cardholder.", "properties": { "firstName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Consumer-provided first name." }, "lastName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Consumer-provided last name." }, "fullName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 100, "description": "Consumer-provided full name." }, "email": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Consumer-provided email address." }, "countryCallingCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 4, "description": "Phone number country code as defined by the International Telecommunication Union." }, "phoneNumber": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 4, "maxLength": 14, "description": "Phone number without country code." }, "numberIsVoiceOnly": { "type": "boolean", "description": "Indicates that the phone number provided is not capable of receiving text messages." }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 2, "maxLength": 2, "description": "Consumer-provided country code. ISO 3166-1 alpha-2 country code." } } }, "consumerIdentity": { "required": [ "identityType", "identityValue" ], "type": "object", "description": "Consumer Identity data. Identifies the consumer using an email address or phone number.", "properties": { "identityType": { "type": "string", "description": "Type of Consumer Identity transmitted or collected. \nPossible values: \n - `EMAIL_ADDRESS`\n - `MOBILE_PHONE_NUMBER`\n" }, "identityValue": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 255, "description": "Consumer Identity value that corresponds to the Consumer Identity Type." }, "identityProvider": { "type": "string", "description": "Identity provider of the Consumer Identity. \nPossible values: \n - `VISA`\n - `PARTNER` (Default)\n" }, "identityProviderUrl": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Domain Name/URL(iss) of the Identity provider of the Consumer Identity." } } }, "paymentInformation": { "required": [ "instrumentIdentifier" ], "type": "object", "description": "Payment Information data. References the tokenized payment card to use for this transaction. At least one of customer, paymentInstrument, or instrumentIdentifier must be provided. The instrumentIdentifier is the most commonly used reference. If you have a TMS instrument identifier, provide it in instrumentIdentifier.id.", "properties": { "customer": { "type": "object", "description": "Customer data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "description": "Payment Instrument data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "required": [ "id" ], "type": "object", "description": "Instrument Identifier data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.", "minLength": 12, "maxLength": 32 } } } } }, "enrollmentReferenceData": { "required": [ "enrollmentReferenceType" ], "type": "object", "description": "Enrollment Reference Data. Links the enrollment to an existing token reference.", "properties": { "enrollmentReferenceType": { "type": "string", "description": "Type of Enrollment Reference Data." }, "enrollmentReferenceProvider": { "type": "string", "description": "Provider of Enrollment Reference Data." } } }, "assuranceData": { "type": "array", "description": "Assurance data.", "items": { "required": [ "verificationMethod", "verificationResults", "verificationTimestamp" ], "type": "object", "description": "Assurance data. Contains identity verification details that prove the consumer or device has been authenticated before the payment operation.", "properties": { "verificationType": { "type": "string", "description": "Optional. Type of the verification data. \nPossible values:\n - `CARDHOLDER` (Default)\n - `DEVICE`\n" }, "verificationEntity": { "type": "string", "description": "Optional. Entity performing the verification. \nPossible value: \n - `10` - VISA (Default)\n" }, "verificationEvents": { "type": "array", "items": { "type": "string" }, "description": "Optional. Event where the verification occurred. \nPossible values: \n - `01` - Payment transaction\n - `02` - Add card/Card enrollment\n - `03` - Profile access\n - `04` - Account verification\n" }, "verificationMethod": { "type": "string", "description": "Required. Method of the verification. \nPossible values: \n - `02` - App-based authentication\n - `04` - One-time passcode\n - `21` - Visa Token Service step-up: Device binding\n - `22` - Visa Token Service step-up: Cardholder verification\n - `23` - FIDO2\n" }, "verificationResults": { "type": "string", "description": "Required. Result of the verification. \nPossible values: \n - `01` - Verified\n - `02` - Not Verified\n - `03` - Not performed\n - `04` - Not required\n - `21` - Not allowed\n" }, "verificationTimestamp": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "Required. Date and time the verification occurred. UTC time in Unix epoch format." }, "authenticationContext": { "type": "object", "description": "Authentication Context data. Describes the authentication action performed.", "properties": { "action": { "type": "string", "description": "Authentication Context action." } } }, "authenticatedIdentities": { "required": [ "id" ], "type": "object", "description": "Authenticated Identities data. Contains the identity assertion from the authentication provider.", "properties": { "data": { "type": "string", "description": "Data related to the authenticated identity." }, "provider": { "type": "string", "description": "Provider of the authenticated identity." }, "id": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 50, "description": "This is a distinctive and non-transparent identifier provided by VISA for correlation purposes in the previous, related API. \nField Mapping when authenticationMethodType is 'FIDO2': \n - On Success: FidoResponse.identifier\n - On Error: AuthContext.identifier\n" } } }, "additionalData": { "type": "string", "description": "Additional data related to assurance." } } } }, "consentData": { "type": "array", "description": "Consent data.", "items": { "required": [ "acceptedTime", "effectiveUntil", "id", "source", "type" ], "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the consent." }, "type": { "type": "string", "description": "Type of the consent. \nPossible value: \n - `PERSONALIZATION`\n" }, "source": { "type": "string", "description": "Source of the consent." }, "acceptedTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Date and time when the consent was accepted by the consumer. UTC time in Unix epoch format." }, "effectiveUntil": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Date and time until which the consent remains effective. UTC time in Unix epoch format." } } } } }, "example": { "clientCorrelationId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "deviceInformation": { "userAgent": "SampleUserAgent", "applicationName": "My Magic App", "fingerprintSessionId": "finSessionId", "country": "US", "deviceData": { "type": "Mobile", "manufacturer": "Apple", "brand": "Apple", "model": "iPhone 16 Pro Max" }, "ipAddress": "192.168.0.100", "clientDeviceId": "000b2767814e4416999f4ee2b099491d2087" }, "buyerInformation": { "merchantCustomerId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "personalIdentification": [ { "type": "The identification type", "id": "1", "issuedBy": "The government agency that issued the driver's license or passport" } ], "language": "en" }, "billTo": { "firstName": "John", "lastName": "Doe", "fullName": "John Michael Doe", "email": "john.doe@example.com", "countryCallingCode": "1", "phoneNumber": "5551234567", "numberIsVoiceOnly": false, "country": "US" }, "consumerIdentity": { "identityType": "EMAIL_ADDRESS", "identityValue": "john.doe@example.com", "identityProvider": "PARTNER", "identityProviderUrl": "https://identity.partner.com" }, "paymentInformation": { "customer": { "id": "" }, "paymentInstrument": { "id": "" }, "instrumentIdentifier": { "id": "458CC7D865E5024FE063AF598E0AA950" } }, "enrollmentReferenceData": { "enrollmentReferenceType": "TOKEN_REFERENCE_ID", "enrollmentReferenceProvider": "VTS" }, "assuranceData": [ { "verificationType": "DEVICE", "verificationEntity": "10", "verificationEvents": [ "01" ], "verificationMethod": "02", "verificationResults": "01", "verificationTimestamp": "1735690745", "authenticationContext": { "action": "AUTHENTICATE" }, "authenticatedIdentities": { "data": "ezAwMX06AAM1NkHcRqXxoy3kt-vNTLdJ7Zg8PVKSr_7bwd1EfMs4MWlmLeFGIhSONwer8hF1yWPs7b7-g1lYrOeNwUuCg9dsCrnKI0-A9BvrwMemw6K05reS2kUVkfu7KbwtLSzcF9BLUcGsrbtE-alrZ4MzRCGSMvJP6PVo-H_dKowL5DfNvt9ZElB9cWpaPkHo8Cvu4WvLaz42XSFK2fBfuKpCiCTIokEEuqjZrSANKeJGFzp3uqzDGn-X-_a8Gq0DcA-d7-p_9nyi5VMRv9TLjzVh5BFXfLJ_3Jz8N2CwpphgZXd9kfuQO5vhqOKKqnyXP6-qEVb1JM48-YNvOKhIDGKkdpYEv6UxHaOUVCfw6H5mnh5Cry_YU62-EWVvwqdc6YKCMWr6QOPMMxo0-SFG0zK3SVNnY5uE7tKiuP-J2n2i_8Wlj1-qFgjMlY1qaRe8LWLvKsQMu-CKov0BGiqtH681rTjnZijj75xTYJ1xyhJv7uYf8r2O2KO9lHD-JHZYBxSY5XCgS0IYW7y8h52ehO9lShwJZ9nVVrEvaK0mek49jFXXAdjgOHHmdbnLh7PJUsTU4RepHB-SaRBS1iclx4WaXcVzjsU6AtET3NCwSysEMvEKHkuHgEOcAHxSiztIsPA_lScSLajFPxjJIGsVONnX9612hT8HC2XvTXcIciEaBqdRMwSeoibsUznduV4QoDRXJQceRUa3oAbyv7c3EzYGjnKPbsJQb2SL5GOZISmTAg8luE6IQpfeFYMjCO72I68S8lmFrTgKqdcOmwGzzTuZTSe_DhQU7xqhAbkL19_wShGsWBktOhOX75V8mpz3EqM15TBBcuHyUDeEmSd7aTLrB2E84rFD7PebluV9GEoUL2I1LMV58HXRhtFpnFcm2NWy6sGnNFLN7fzUzqJbQrobEGB3b6T8xHLUfkl3luOw1xpg5ewyWUaVFl5yiNVnYsskitv6gcQhLaw4b2u44A2iO-4L_18WDoZgMURt-vDoYw", "provider": "VISA_PAYMENT_PASSKEY", "id": "f48ac10b-58cc-4372-a567-0e02b2c3d489" }, "additionalData": "" } ], "consentData": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "type": "PERSONALIZATION", "source": "CLIENT", "acceptedTime": "1719169800", "effectiveUntil": "1750705800" } ] } }, "initiatePurchaseIntent_request": { "required": [ "assuranceData", "clientCorrelationId", "deviceInformation", "mandates", "paymentInformation" ], "type": "object", "properties": { "clientCorrelationId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Client Correlation Id used during the tokenization or during FIDO assertion." }, "paymentInformation": { "required": [ "instrumentIdentifier" ], "type": "object", "description": "Payment Information data. References the tokenized payment card to use for this transaction. At least one of customer, paymentInstrument, or instrumentIdentifier must be provided. The instrumentIdentifier is the most commonly used reference. If you have a TMS instrument identifier, provide it in instrumentIdentifier.id.", "properties": { "customer": { "type": "object", "description": "Customer data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "description": "Payment Instrument data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "required": [ "id" ], "type": "object", "description": "Instrument Identifier data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.", "minLength": 12, "maxLength": 32 } } } } }, "deviceInformation": { "type": "object", "description": "Device and Application instance data. Identifies the device and application from which the consumer is making the payment request.", "required": [ "applicationName", "deviceData", "ipAddress", "fingerprintSessionId" ], "properties": { "userAgent": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 2048, "description": "Base64 Encoded userAgent string of the connecting client application, with no padding. \nUser agent string of the connecting client application. \nConditionality: \n- Required for browsers\n- Optional for non-browsers\n" }, "applicationName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Name of the connecting client application." }, "fingerprintSessionId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Device Fingerprinting Session identifier." }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 2, "maxLength": 2, "format": "ISO 3166-1-alpha2", "description": "ISO 3166-1 alpha-2 country code. The country where the Consumer is accessing the service from." }, "deviceData": { "type": "object", "description": "Device data.", "required": [ "type", "brand" ], "properties": { "type": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Type of device being used. \nExample values are: \n- Mobile Phone\n- Tablet\n- Tablet\n- Laptop\n- Personal Assistant\n- Connected Auto\n- Home Appliance\n- Wearable\n- Stationary Computer\n- E-Reader\n- Handheld Gaming Devices\n- Other\n" }, "manufacturer": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Manufacturer of the device." }, "brand": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Brand name of the device." }, "model": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Specific model of the device." } } }, "ipAddress": { "type": "string", "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:[^0-9]*(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", "minLength": 0, "maxLength": 255, "description": "IP address of the consumer's device." }, "clientDeviceId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Unique identifier of the consumer's device." } } }, "assuranceData": { "type": "array", "description": "Assurance data.", "items": { "required": [ "verificationMethod", "verificationResults", "verificationTimestamp" ], "type": "object", "description": "Assurance data. Contains identity verification details that prove the consumer or device has been authenticated before the payment operation.", "properties": { "verificationType": { "type": "string", "description": "Optional. Type of the verification data. \nPossible values:\n - `CARDHOLDER` (Default)\n - `DEVICE`\n" }, "verificationEntity": { "type": "string", "description": "Optional. Entity performing the verification. \nPossible value: \n - `10` - VISA (Default)\n" }, "verificationEvents": { "type": "array", "items": { "type": "string" }, "description": "Optional. Event where the verification occurred. \nPossible values: \n - `01` - Payment transaction\n - `02` - Add card/Card enrollment\n - `03` - Profile access\n - `04` - Account verification\n" }, "verificationMethod": { "type": "string", "description": "Required. Method of the verification. \nPossible values: \n - `02` - App-based authentication\n - `04` - One-time passcode\n - `21` - Visa Token Service step-up: Device binding\n - `22` - Visa Token Service step-up: Cardholder verification\n - `23` - FIDO2\n" }, "verificationResults": { "type": "string", "description": "Required. Result of the verification. \nPossible values: \n - `01` - Verified\n - `02` - Not Verified\n - `03` - Not performed\n - `04` - Not required\n - `21` - Not allowed\n" }, "verificationTimestamp": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "Required. Date and time the verification occurred. UTC time in Unix epoch format." }, "authenticationContext": { "type": "object", "description": "Authentication Context data. Describes the authentication action performed.", "properties": { "action": { "type": "string", "description": "Authentication Context action." } } }, "authenticatedIdentities": { "required": [ "id" ], "type": "object", "description": "Authenticated Identities data. Contains the identity assertion from the authentication provider.", "properties": { "data": { "type": "string", "description": "Data related to the authenticated identity." }, "provider": { "type": "string", "description": "Provider of the authenticated identity." }, "id": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 50, "description": "This is a distinctive and non-transparent identifier provided by VISA for correlation purposes in the previous, related API. \nField Mapping when authenticationMethodType is 'FIDO2': \n - On Success: FidoResponse.identifier\n - On Error: AuthContext.identifier\n" } } }, "additionalData": { "type": "string", "description": "Additional data related to assurance." } } } }, "mandates": { "type": "array", "description": "Mandate data.", "items": { "required": [ "declineThreshold", "description", "effectiveUntilTime", "mandateId" ], "type": "object", "description": "Mandate data. Defines the consumer's spending authorization for a purchase intent, including merchant preferences, amount limits, and product details.", "properties": { "mandateId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Unique identifier with in the context of a purchase-intent for the mandate. \nAssigned by Partner. Id shall not be reused when a mandate is updated/deleted.\n" }, "preferredMerchantName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "User merchant preference.", "example": "Best Buy" }, "merchantCategory": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Merchant category Description." }, "merchantCategoryCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Merchant category Code. Once it is checked, it has to be valid merchant category code. Ex:\" 5311\"" }, "declineThreshold": { "type": "object", "description": "Decline Threshold data. Defines the maximum transaction amount the consumer is willing to authorize under this mandate.", "properties": { "amount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "Transaction Decline Threshold amount." }, "currencyCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 3, "maxLength": 3, "description": "ISO 4217 currency code. Currency in which the Transaction Decline Threshold amount is expressed." } } }, "recurringPaymentInformation": { "type": "object", "description": "Frequency of the transaction. Specifies how often the transaction occurs. If the mandate contains a recurring instruction, a recurring frequency must be provided and the request.isRecurring flag should be set to true.\n", "properties": { "occurrence": { "type": "string", "description": "Frequency of the transaction. \nPossible values: \n - `WEEKLY`\n - `MONTHLY`\n - `YEARLY`\n" } } }, "effectiveUntilTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "UTC time in Unix epoch format." }, "quantity": { "type": "string", "minLength": 0, "maxLength": 10, "description": "Quantity of the product.", "example": "10" }, "description": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Description of the product.", "example": "50 Blue Balloons" } } } }, "buyerInformation": { "type": "object", "description": "Buyer Information data. Contains consumer identification and preference details.", "properties": { "merchantCustomerId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Reference identifier of the Consumer." }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification" }, "id": { "type": "string", "description": "The value of the identification type" }, "issueBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf `**type** = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf `**type** = PASSPORT`, this is the Issuing country for the cardholder's passport.\n" } } } }, "language": { "type": "string", "description": "(Required) Consumer-provided language choice. ISO 639-1 Code" } } }, "isRecurring": { "type": "boolean", "description": "Indicates whether the transaction is recurring. Default value is false." }, "consumerPrompt": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Recap - A summary or condensed version of user prompts that leads to the purchase." } }, "example": { "clientCorrelationId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "paymentInformation": { "customer": { "id": "" }, "paymentInstrument": { "id": "" }, "instrumentIdentifier": { "id": "458CC7D865E5024FE063AF598E0AA950" } }, "deviceInformation": { "userAgent": "SampleUserAgent", "applicationName": "My Magic App ", "fingerprintSessionId": "e48ac10b-58cc-4372-a567-0e02b2c3d489", "country": "US", "deviceData": { "type": "Mobile", "manufacturer": "Apple", "brand": "Apple", "model": "iPhone 16 Pro Max" }, "ipAddress": "192.168.0.100", "clientDeviceId": "c48ac10b-58cc-4372-a567-0e02b2c3d489" }, "assuranceData": [ { "verificationType": "DEVICE", "verificationEntity": "10", "verificationEvents": [], "verificationMethod": "02", "verificationResults": "01", "verificationTimestamp": "1735690745", "authenticationContext": { "action": "AUTHENTICATE" }, "authenticatedIdentities": { "data": "ezAwMX06AAM1NkHcRqXxoy3kt-vNTLdJ7Zg8PVKSr_7bwd1EfMs4MWlmLeFGIhSONwer8hF1yWPs7b7-g1lYrOeNwUuCg9dsCrnKI0-A9BvrwMemw6K05reS2kUVkfu7KbwtLSzcF9BLUcGsrbtE-alrZ4MzRCGSMvJP6PVo-H_dKowL5DfNvt9ZElB9cWpaPkHo8Cvu4WvLaz42XSFK2fBfuKpCiCTIokEEuqjZrSANKeJGFzp3uqzDGn-X-_a8Gq0DcA-d7-p_9nyi5VMRv9TLjzVh5BFXfLJ_3Jz8N2CwpphgZXd9kfuQO5vhqOKKqnyXP6-qEVb1JM48-YNvOKhIDGKkdpYEv6UxHaOUVCfw6H5mnh5Cry_YU62-EWVvwqdc6YKCMWr6QOPMMxo0-SFG0zK3SVNnY5uE7tKiuP-J2n2i_8Wlj1-qFgjMlY1qaRe8LWLvKsQMu-CKov0BGiqtH681rTjnZijj75xTYJ1xyhJv7uYf8r2O2KO9lHD-JHZYBxSY5XCgS0IYW7y8h52ehO9lShwJZ9nVVrEvaK0mek49jFXXAdjgOHHmdbnLh7PJUsTU4RepHB-SaRBS1iclx4WaXcVzjsU6AtET3NCwSysEMvEKHkuHgEOcAHxSiztIsPA_lScSLajFPxjJIGsVONnX9612hT8HC2XvTXcIciEaBqdRMwSeoibsUznduV4QoDRXJQceRUa3oAbyv7c3EzYGjnKPbsJQb2SL5GOZISmTAg8luE6IQpfeFYMjCO72I68S8lmFrTgKqdcOmwGzzTuZTSe_DhQU7xqhAbkL19_wShGsWBktOhOX75V8mpz3EqM15TBBcuHyUDeEmSd7aTLrB2E84rFD7PebluV9GEoUL2I1LMV58HXRhtFpnFcm2NWy6sGnNFLN7fzUzqJbQrobEGB3b6T8xHLUfkl3luOw1xpg5ewyWUaVFl5yiNVnYsskitv6gcQhLaw4b2u44A2iO-4L_18WDoZgMURt-vDoYw", "provider": "provider", "id": "f48ac10b-58cc-4372-a567-0e02b2c3d489" }, "additionalData": "" } ], "mandates": [ { "mandateId": "d48ac10b-58cc-4372-a567-0e02b2c3d489", "preferredMerchantName": "", "declineThreshold": { "amount": "10000.00", "currencyCode": "USD" }, "effectiveUntilTime": "1784841600", "quantity": "10", "description": "description", "recurringPaymentInformation": { "occurrence": "WEEKLY" } } ], "buyerInformation": { "merchantCustomerId": "3e1b7943-6567-4965-a32b-5aa93d057d35" }, "consumerPrompt": "Authorize payment to Best Buy" } }, "updatePurchaseIntent_request": { "required": [ "assuranceData", "clientCorrelationId", "deviceInformation", "mandates", "paymentInformation" ], "type": "object", "properties": { "clientCorrelationId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Client Correlation Id used during the tokenization or during FIDO assertion." }, "paymentInformation": { "required": [ "instrumentIdentifier" ], "type": "object", "description": "Payment Information data. References the tokenized payment card to use for this transaction. At least one of customer, paymentInstrument, or instrumentIdentifier must be provided. The instrumentIdentifier is the most commonly used reference. If you have a TMS instrument identifier, provide it in instrumentIdentifier.id.", "properties": { "customer": { "type": "object", "description": "Customer data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "description": "Payment Instrument data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "required": [ "id" ], "type": "object", "description": "Instrument Identifier data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.", "minLength": 12, "maxLength": 32 } } } } }, "deviceInformation": { "type": "object", "description": "Device and Application instance data. Identifies the device and application from which the consumer is making the payment request.", "required": [ "applicationName", "deviceData", "ipAddress", "fingerprintSessionId" ], "properties": { "userAgent": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 2048, "description": "Base64 Encoded userAgent string of the connecting client application, with no padding. \nUser agent string of the connecting client application. \nConditionality: \n- Required for browsers\n- Optional for non-browsers\n" }, "applicationName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Name of the connecting client application." }, "fingerprintSessionId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Device Fingerprinting Session identifier." }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 2, "maxLength": 2, "format": "ISO 3166-1-alpha2", "description": "ISO 3166-1 alpha-2 country code. The country where the Consumer is accessing the service from." }, "deviceData": { "type": "object", "description": "Device data.", "required": [ "type", "brand" ], "properties": { "type": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Type of device being used. \nExample values are: \n- Mobile Phone\n- Tablet\n- Tablet\n- Laptop\n- Personal Assistant\n- Connected Auto\n- Home Appliance\n- Wearable\n- Stationary Computer\n- E-Reader\n- Handheld Gaming Devices\n- Other\n" }, "manufacturer": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Manufacturer of the device." }, "brand": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Brand name of the device." }, "model": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Specific model of the device." } } }, "ipAddress": { "type": "string", "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:[^0-9]*(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", "minLength": 0, "maxLength": 255, "description": "IP address of the consumer's device." }, "clientDeviceId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Unique identifier of the consumer's device." } } }, "assuranceData": { "type": "array", "description": "Assurance data.", "items": { "required": [ "verificationMethod", "verificationResults", "verificationTimestamp" ], "type": "object", "description": "Assurance data. Contains identity verification details that prove the consumer or device has been authenticated before the payment operation.", "properties": { "verificationType": { "type": "string", "description": "Optional. Type of the verification data. \nPossible values:\n - `CARDHOLDER` (Default)\n - `DEVICE`\n" }, "verificationEntity": { "type": "string", "description": "Optional. Entity performing the verification. \nPossible value: \n - `10` - VISA (Default)\n" }, "verificationEvents": { "type": "array", "items": { "type": "string" }, "description": "Optional. Event where the verification occurred. \nPossible values: \n - `01` - Payment transaction\n - `02` - Add card/Card enrollment\n - `03` - Profile access\n - `04` - Account verification\n" }, "verificationMethod": { "type": "string", "description": "Required. Method of the verification. \nPossible values: \n - `02` - App-based authentication\n - `04` - One-time passcode\n - `21` - Visa Token Service step-up: Device binding\n - `22` - Visa Token Service step-up: Cardholder verification\n - `23` - FIDO2\n" }, "verificationResults": { "type": "string", "description": "Required. Result of the verification. \nPossible values: \n - `01` - Verified\n - `02` - Not Verified\n - `03` - Not performed\n - `04` - Not required\n - `21` - Not allowed\n" }, "verificationTimestamp": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "Required. Date and time the verification occurred. UTC time in Unix epoch format." }, "authenticationContext": { "type": "object", "description": "Authentication Context data. Describes the authentication action performed.", "properties": { "action": { "type": "string", "description": "Authentication Context action." } } }, "authenticatedIdentities": { "required": [ "id" ], "type": "object", "description": "Authenticated Identities data. Contains the identity assertion from the authentication provider.", "properties": { "data": { "type": "string", "description": "Data related to the authenticated identity." }, "provider": { "type": "string", "description": "Provider of the authenticated identity." }, "id": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 50, "description": "This is a distinctive and non-transparent identifier provided by VISA for correlation purposes in the previous, related API. \nField Mapping when authenticationMethodType is 'FIDO2': \n - On Success: FidoResponse.identifier\n - On Error: AuthContext.identifier\n" } } }, "additionalData": { "type": "string", "description": "Additional data related to assurance." } } } }, "mandates": { "type": "array", "items": { "required": [ "declineThreshold", "description", "effectiveUntilTime", "mandateId" ], "type": "object", "description": "Mandate data. Defines the consumer's spending authorization for a purchase intent, including merchant preferences, amount limits, and product details.", "properties": { "mandateId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Unique identifier with in the context of a purchase-intent for the mandate. \nAssigned by Partner. Id shall not be reused when a mandate is updated/deleted.\n" }, "preferredMerchantName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "User merchant preference.", "example": "Best Buy" }, "merchantCategory": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Merchant category Description." }, "merchantCategoryCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Merchant category Code. Once it is checked, it has to be valid merchant category code. Ex:\" 5311\"" }, "declineThreshold": { "type": "object", "description": "Decline Threshold data. Defines the maximum transaction amount the consumer is willing to authorize under this mandate.", "properties": { "amount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "Transaction Decline Threshold amount." }, "currencyCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 3, "maxLength": 3, "description": "ISO 4217 currency code. Currency in which the Transaction Decline Threshold amount is expressed." } } }, "recurringPaymentInformation": { "type": "object", "description": "Frequency of the transaction. Specifies how often the transaction occurs. If the mandate contains a recurring instruction, a recurring frequency must be provided and the request.isRecurring flag should be set to true.\n", "properties": { "occurrence": { "type": "string", "description": "Frequency of the transaction. \nPossible values: \n - `WEEKLY`\n - `MONTHLY`\n - `YEARLY`\n" } } }, "effectiveUntilTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "UTC time in Unix epoch format." }, "quantity": { "type": "string", "minLength": 0, "maxLength": 10, "description": "Quantity of the product.", "example": "10" }, "description": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Description of the product.", "example": "50 Blue Balloons" } } } }, "buyerInformation": { "type": "object", "description": "Buyer Information data. Contains consumer identification and preference details.", "properties": { "merchantCustomerId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Reference identifier of the Consumer." }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification" }, "id": { "type": "string", "description": "The value of the identification type" }, "issueBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf `**type** = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf `**type** = PASSPORT`, this is the Issuing country for the cardholder's passport.\n" } } } }, "language": { "type": "string", "description": "(Required) Consumer-provided language choice. ISO 639-1 Code" } } }, "consumerPrompt": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Recap - A summary or condensed version of user prompts that leads to the purchase." } }, "example": { "clientCorrelationId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "paymentInformation": { "customer": { "id": "" }, "paymentInstrument": { "id": "" }, "instrumentIdentifier": { "id": "458CC7D865E5024FE063AF598E0AA950" } }, "deviceInformation": { "userAgent": "SampleUserAgent", "applicationName": "My Magic App ", "fingerprintSessionId": "e48ac10b-58cc-4372-a567-0e02b2c3d489", "country": "US", "deviceData": { "type": "Mobile", "manufacturer": "Apple", "brand": "Apple", "model": "iPhone 16 Pro Max" }, "ipAddress": "192.168.1.1", "clientDeviceId": "c48ac10b-58cc-4372-a567-0e02b2c3d489" }, "assuranceData": [ { "verificationType": "DEVICE", "verificationEntity": "10", "verificationEvents": [], "verificationMethod": "02", "verificationResults": "01", "verificationTimestamp": "1745690745", "authenticationContext": { "action": "AUTHENTICATE" }, "authenticatedIdentities": { "data": "ezAwMX06AAM1NkHcRqXxoy3kt-vNTLdJ7Zg8PVKSr_7bwd1EfMs4MWlmLeFGIhSONwer8hF1yWPs7b7-g1lYrOeNwUuCg9dsCrnKI0-A9BvrwMemw6K05reS2kUVkfu7KbwtLSzcF9BLUcGsrbtE-alrZ4MzRCGSMvJP6PVo-H_dKowL5DfNvt9ZElB9cWpaPkHo8Cvu4WvLaz42XSFK2fBfuKpCiCTIokEEuqjZrSANKeJGFzp3uqzDGn-X-_a8Gq0DcA-d7-p_9nyi5VMRv9TLjzVh5BFXfLJ_3Jz8N2CwpphgZXd9kfuQO5vhqOKKqnyXP6-qEVb1JM48-YNvOKhIDGKkdpYEv6UxHaOUVCfw6H5mnh5Cry_YU62-EWVvwqdc6YKCMWr6QOPMMxo0-SFG0zK3SVNnY5uE7tKiuP-J2n2i_8Wlj1-qFgjMlY1qaRe8LWLvKsQMu-CKov0BGiqtH681rTjnZijj75xTYJ1xyhJv7uYf8r2O2KO9lHD-JHZYBxSY5XCgS0IYW7y8h52ehO9lShwJZ9nVVrEvaK0mek49jFXXAdjgOHHmdbnLh7PJUsTU4RepHB-SaRBS1iclx4WaXcVzjsU6AtET3NCwSysEMvEKHkuHgEOcAHxSiztIsPA_lScSLajFPxjJIGsVONnX9612hT8HC2XvTXcIciEaBqdRMwSeoibsUznduV4QoDRXJQceRUa3oAbyv7c3EzYGjnKPbsJQb2SL5GOZISmTAg8luE6IQpfeFYMjCO72I68S8lmFrTgKqdcOmwGzzTuZTSe_DhQU7xqhAbkL19_wShGsWBktOhOX75V8mpz3EqM15TBBcuHyUDeEmSd7aTLrB2E84rFD7PebluV9GEoUL2I1LMV58HXRhtFpnFcm2NWy6sGnNFLN7fzUzqJbQrobEGB3b6T8xHLUfkl3luOw1xpg5ewyWUaVFl5yiNVnYsskitv6gcQhLaw4b2u44A2iO-4L_18WDoZgMURt-vDoYw", "provider": "provider", "id": "f48ac10b-58cc-4372-a567-0e02b2c3d489" }, "additionalData": "" } ], "mandates": [ { "mandateId": "d48ac10b-58cc-4372-a567-0e02b2c3d489", "declineThreshold": { "amount": "100.00", "currencyCode": "USD" }, "effectiveUntilTime": "1795690745", "quantity": "10", "description": "Description of the product", "recurringPaymentInformation": { "occurrence": "WEEKLY" } } ], "buyerInformation": { "merchantCustomerId": "3e1b7943-6567-4965-a32b-5aa93d057d35" }, "consumerPrompt": "Authorize payment to Best Buy" } }, "cancelPurchaseIntent_request": { "required": [ "assuranceData", "clientCorrelationId", "deviceInformation" ], "type": "object", "properties": { "clientCorrelationId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Client Correlation Id used during the tokenization or during FIDO assertion." }, "paymentInformation": { "required": [ "instrumentIdentifier" ], "type": "object", "description": "Payment Information data. References the tokenized payment card to use for this transaction. At least one of customer, paymentInstrument, or instrumentIdentifier must be provided. The instrumentIdentifier is the most commonly used reference. If you have a TMS instrument identifier, provide it in instrumentIdentifier.id.", "properties": { "customer": { "type": "object", "description": "Customer data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "description": "Payment Instrument data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "required": [ "id" ], "type": "object", "description": "Instrument Identifier data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.", "minLength": 12, "maxLength": 32 } } } } }, "deviceInformation": { "type": "object", "description": "Device and Application instance data. Identifies the device and application from which the consumer is making the payment request.", "required": [ "applicationName", "deviceData", "ipAddress", "fingerprintSessionId" ], "properties": { "userAgent": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 2048, "description": "Base64 Encoded userAgent string of the connecting client application, with no padding. \nUser agent string of the connecting client application. \nConditionality: \n- Required for browsers\n- Optional for non-browsers\n" }, "applicationName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Name of the connecting client application." }, "fingerprintSessionId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Device Fingerprinting Session identifier." }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 2, "maxLength": 2, "format": "ISO 3166-1-alpha2", "description": "ISO 3166-1 alpha-2 country code. The country where the Consumer is accessing the service from." }, "deviceData": { "type": "object", "description": "Device data.", "required": [ "type", "brand" ], "properties": { "type": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Type of device being used. \nExample values are: \n- Mobile Phone\n- Tablet\n- Tablet\n- Laptop\n- Personal Assistant\n- Connected Auto\n- Home Appliance\n- Wearable\n- Stationary Computer\n- E-Reader\n- Handheld Gaming Devices\n- Other\n" }, "manufacturer": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Manufacturer of the device." }, "brand": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Brand name of the device." }, "model": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Specific model of the device." } } }, "ipAddress": { "type": "string", "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:[^0-9]*(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", "minLength": 0, "maxLength": 255, "description": "IP address of the consumer's device." }, "clientDeviceId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Unique identifier of the consumer's device." } } }, "assuranceData": { "type": "array", "description": "Assurance data.", "items": { "required": [ "verificationMethod", "verificationResults", "verificationTimestamp" ], "type": "object", "description": "Assurance data. Contains identity verification details that prove the consumer or device has been authenticated before the payment operation.", "properties": { "verificationType": { "type": "string", "description": "Optional. Type of the verification data. \nPossible values:\n - `CARDHOLDER` (Default)\n - `DEVICE`\n" }, "verificationEntity": { "type": "string", "description": "Optional. Entity performing the verification. \nPossible value: \n - `10` - VISA (Default)\n" }, "verificationEvents": { "type": "array", "items": { "type": "string" }, "description": "Optional. Event where the verification occurred. \nPossible values: \n - `01` - Payment transaction\n - `02` - Add card/Card enrollment\n - `03` - Profile access\n - `04` - Account verification\n" }, "verificationMethod": { "type": "string", "description": "Required. Method of the verification. \nPossible values: \n - `02` - App-based authentication\n - `04` - One-time passcode\n - `21` - Visa Token Service step-up: Device binding\n - `22` - Visa Token Service step-up: Cardholder verification\n - `23` - FIDO2\n" }, "verificationResults": { "type": "string", "description": "Required. Result of the verification. \nPossible values: \n - `01` - Verified\n - `02` - Not Verified\n - `03` - Not performed\n - `04` - Not required\n - `21` - Not allowed\n" }, "verificationTimestamp": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "Required. Date and time the verification occurred. UTC time in Unix epoch format." }, "authenticationContext": { "type": "object", "description": "Authentication Context data. Describes the authentication action performed.", "properties": { "action": { "type": "string", "description": "Authentication Context action." } } }, "authenticatedIdentities": { "required": [ "id" ], "type": "object", "description": "Authenticated Identities data. Contains the identity assertion from the authentication provider.", "properties": { "data": { "type": "string", "description": "Data related to the authenticated identity." }, "provider": { "type": "string", "description": "Provider of the authenticated identity." }, "id": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 50, "description": "This is a distinctive and non-transparent identifier provided by VISA for correlation purposes in the previous, related API. \nField Mapping when authenticationMethodType is 'FIDO2': \n - On Success: FidoResponse.identifier\n - On Error: AuthContext.identifier\n" } } }, "additionalData": { "type": "string", "description": "Additional data related to assurance." } } } } }, "example": { "clientCorrelationId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "paymentInformation": { "customer": { "id": "" }, "paymentInstrument": { "id": "" }, "instrumentIdentifier": { "id": "458CC7D865E5024FE063AF598E0AA950" } }, "deviceInformation": { "userAgent": "SampleUserAgent", "applicationName": "My Magic App", "fingerprintSessionId": "finSessionId", "country": "US", "deviceData": { "type": "Mobile", "manufacturer": "Apple", "brand": "Apple", "model": "iPhone 16 Pro Max" }, "ipAddress": "192.168.1.1", "clientDeviceId": "000b2767814e4416999f4ee2b099491d2087" }, "assuranceData": [ { "verificationType": "CARDHOLDER", "verificationEntity": "10", "verificationEvents": [ "01" ], "verificationMethod": "02", "verificationResults": "02", "verificationTimestamp": "1753165632", "AuthenticationContext": { "action": "AUTHENTICATE" }, "authenticatedIdentities": { "data": "ezAwMX06AAM1NkHcRqXxoy3kt-vNTLdJ7Zg8PVKSr_7bwd1EfMs4MWlmLeFGIhSONwer8hF1yWPs7b7-g1lYrOeNwUuCg9dsCrnKI0-A9BvrwMemw6K05reS2kUVkfu7KbwtLSzcF9BLUcGsrbtE-alrZ4MzRCGSMvJP6PVo-H_dKowL5DfNvt9ZElB9cWpaPkHo8Cvu4WvLaz42XSFK2fBfuKpCiCTIokEEuqjZrSANKeJGFzp3uqzDGn-X-_a8Gq0DcA-d7-p_9nyi5VMRv9TLjzVh5BFXfLJ_3Jz8N2CwpphgZXd9kfuQO5vhqOKKqnyXP6-qEVb1JM48-YNvOKhIDGKkdpYEv6UxHaOUVCfw6H5mnh5Cry_YU62-EWVvwqdc6YKCMWr6QOPMMxo0-SFG0zK3SVNnY5uE7tKiuP-J2n2i_8Wlj1-qFgjMlY1qaRe8LWLvKsQMu-CKov0BGiqtH681rTjnZijj75xTYJ1xyhJv7uYf8r2O2KO9lHD-JHZYBxSY5XCgS0IYW7y8h52ehO9lShwJZ9nVVrEvaK0mek49jFXXAdjgOHHmdbnLh7PJUsTU4RepHB-SaRBS1iclx4WaXcVzjsU6AtET3NCwSysEMvEKHkuHgEOcAHxSiztIsPA_lScSLajFPxjJIGsVONnX9612hT8HC2XvTXcIciEaBqdRMwSeoibsUznduV4QoDRXJQceRUa3oAbyv7c3EzYGjnKPbsJQb2SL5GOZISmTAg8luE6IQpfeFYMjCO72I68S8lmFrTgKqdcOmwGzzTuZTSe_DhQU7xqhAbkL19_wShGsWBktOhOX75V8mpz3EqM15TBBcuHyUDeEmSd7aTLrB2E84rFD7PebluV9GEoUL2I1LMV58HXRhtFpnFcm2NWy6sGnNFLN7fzUzqJbQrobEGB3b6T8xHLUfkl3luOw1xpg5ewyWUaVFl5yiNVnYsskitv6gcQhLaw4b2u44A2iO-4L_18WDoZgMURt-vDoYw", "provider": "VISA_PAYMENT_PASSKEY", "id": "f48ac10b-58cc-4372-a567-0e02b2c3d489" }, "additionalData": "" } ] } }, "retrievePaymentCredentials_request": { "required": [ "clientCorrelationId", "paymentInformation", "transactionData" ], "type": "object", "properties": { "clientCorrelationId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Client Correlation Id used during the tokenization or during FIDO assertion." }, "paymentInformation": { "required": [ "instrumentIdentifier" ], "type": "object", "description": "Payment Information data. References the tokenized payment card to use for this transaction. At least one of customer, paymentInstrument, or instrumentIdentifier must be provided. The instrumentIdentifier is the most commonly used reference. If you have a TMS instrument identifier, provide it in instrumentIdentifier.id.", "properties": { "customer": { "type": "object", "description": "Customer data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "description": "Payment Instrument data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "required": [ "id" ], "type": "object", "description": "Instrument Identifier data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.", "minLength": 12, "maxLength": 32 } } } } }, "transactionData": { "type": "array", "description": "List of transaction data.", "items": { "type": "object", "required": [ "clientReferenceInformation", "merchantInformation", "orderInformation" ], "properties": { "clientReferenceInformation": { "required": [ "code" ], "type": "object", "description": "Client reference information.", "properties": { "code": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "A distinct identifier for this order/line item. This ID will act as a reference to connect this line item with payment details, \npayment transactions, and confirmation events.\n" } } }, "mandateReferenceData": { "type": "array", "description": "Mandate Reference Data.", "items": { "type": "object", "properties": { "mandateId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "(Conditional) Unique Mandate identifier associated with the Transaction." } } } }, "type": { "type": "string", "description": "(Conditional) Type of the transaction. This field is used to determine the type of transaction and the associated processing rules. \nPossible values: \n - `PURCHASE` (Default)\n - `BILL_PAYMENT`\n - `MONEY_TRANSFER`\n - `DISBURSEMENT`\n - `P2P`\n" }, "orderInformation": { "required": [ "amountDetail" ], "type": "object", "description": "Order information.", "properties": { "amountDetail": { "required": [ "currency", "totalAmount" ], "type": "object", "description": "Amount Detail data. Breaks down the total transaction amount into components.", "properties": { "totalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The final amount that the customer needs to pay or paid." }, "currency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "(Conditional) ISO 4217 currency code. Currency in which the transactionAmount, subTotal, tax, Shipping& handling or discount amount is expressed.\nConditionality - Required when either transactionAmount, subTotal, tax, Shipping& handling or discount amount is present.\n" }, "subTotalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total transaction amount before any taxes or discounts are applied." }, "discountAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total discount amount applied to the transaction." }, "shippingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." }, "handlingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." } } }, "shipTo": { "required": [ "country", "countryCallingCode", "phoneNumber" ], "type": "object", "description": "Shipping information.", "properties": { "addressId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 36, "maxLength": 36, "description": "(Conditional) Reference identifier of the address Conditionality - Required when address is already registered with VACP System.\nOptional for requests when address fields are provided.\n" }, "district": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 100, "description": "Name of the business; Name of the community; c/o Name etc. Notes - Shipping Address - The final recipient's name will be captured \nin deliveryContacts field. Billing Address - The Card Holder or Consumer Name will be recorded as part of Card or Order Information.\n" }, "address1": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 75, "description": "(Conditional) Address line 1 Conditionality - Required when used with the DPA Registration operation in the Management Service APIs\nRequired when address is used as shipping/delivery Address.\n" }, "address2": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 75, "description": "Address line 2." }, "address3": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 75, "description": "Address line 3." }, "locality": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "(Conditional) Address city Conditionality - When used with the DPA Registration operation in the Management \nService APIs at least one of the following is required \n- both city and state\n- zip Required if this is a shipping address in a valid format for the country\n" }, "administrativeArea": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 30, "description": "(Conditional) Address state Recommendation to support ISO 3166-2 format i.e. made up of ISO 3166-1 alpha 2 country code, \nfollowed by an alphanumeric string of 3 characters representing the state or sub-division Conditionality - \nWhen used with the DPA Registration operation in the Management Service APIs at least one of the following is required \n- both city and state\n- zip Required if this is a shipping address in a valid format for the country.\n" }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 2, "maxLength": 2, "description": "Address country code ISO 3166-1 alpha-2 country code." }, "postalCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 16, "description": "Address zip/postal code Conditionality - When used with the DPA Registration operation in th Management Service APIs \nat least one of the following is required. \n- both city and state \n- zip Required if this is a shipping address in a valid format for the country and has a postal code or zip code\n" }, "createTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Date and time the address was created. UTC time in Unix epoch format." }, "lastUsedTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Date and time the address was last used. UTC time in Unix epoch format." }, "firstName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 60, "description": "First name of the recipient." }, "middleName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 60, "description": "Middle name of the recipient." }, "lastName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 60, "description": "Last name of the recipient." }, "email": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Consumer-provided email address." }, "countryCallingCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 4, "description": "Phone number country code as defined by the International Telecommunication Union." }, "phoneNumber": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 4, "maxLength": 14, "description": "Phone number without country code." }, "numberIsVoiceOnly": { "type": "boolean", "description": "Indicates that the phone number provided is not capable of receiving text messages." }, "instructions": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 1024, "description": "Consumer-provided delivery instructions." } } }, "lineItems": { "type": "array", "items": { "type": "object", "description": "Item details.", "properties": { "items": { "type": "object", "properties": { "productSku": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Unique identifier for the product." }, "productName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 10, "description": "Name of the product." }, "quantity": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 10, "description": "(Conditional) Quantity of the product." }, "unitPrice": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The price of a single unit." }, "unitPriceCurrency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "ISO 4217 currency code. Currency in which the unit price is expressed." }, "amountDetail": { "required": [ "currency", "totalAmount" ], "type": "object", "description": "Amount Detail data. Breaks down the total transaction amount into components.", "properties": { "totalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The final amount that the customer needs to pay or paid." }, "currency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "(Conditional) ISO 4217 currency code. Currency in which the transactionAmount, subTotal, tax, Shipping& handling or discount amount is expressed.\nConditionality - Required when either transactionAmount, subTotal, tax, Shipping& handling or discount amount is present.\n" }, "subTotalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total transaction amount before any taxes or discounts are applied." }, "discountAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total discount amount applied to the transaction." }, "shippingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." }, "handlingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." } } }, "productUrl": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "URL of the product." }, "policies": { "type": "object", "description": "Policies related to the item.", "properties": { "termsAndConditions": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the sale, payment, use of the product." }, "cancellationPolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the cancellation of the order." }, "refundPolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the refund." }, "disputePolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the dispute." }, "shippingPolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the shipping." }, "discountAndPromotions": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the discount." }, "propertyName": { "type": "object" } } }, "additionalInfo": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Key for the additional information." }, "value": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Value for the additional information." } } } } } } } } }, "deliveryMethod": { "type": "string", "description": "(Conditional) An indication of the manner in which the purchased goods are to be delivered \nPossible values: \n - `NO_DELIVERY`\n - `ADDRESS_BILLING`\n - `ADDRESS_ON_FILE`\n - `ADDRESS_OTHER`\n - `PICKUP`\n - `ELECTRONIC`\n" } } }, "paymentServiceProviderUrl": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)^.*$", "minLength": 0, "maxLength": 255, "description": "(Conditional) URL of the payment service provider." }, "paymentServiceProviderName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "(Conditional) Name of the payment service provider." }, "merchantOrderId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "(Conditional) Digital Payment Application generated order/invoice number corresponding to a Consumer purchase." }, "merchantInformation": { "required": [ "merchantDescriptor", "merchantName" ], "type": "object", "description": "Merchant Information data.", "properties": { "merchantId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 255, "description": "(Conditional) Identifier of the DPA generated by VISA based on the previously provided during the Merchant Registration Process when known." }, "merchantName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 40, "description": "Merchant name. Required for the Network's system to facilitate authentication." }, "categoryCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 4, "description": "(Conditional) Code associated with Merchant Category. Describes the merchant's type of business, product or service. If it is checked, it has to be valid value. Ex, \"5311\"" }, "merchantDescriptor": { "required": [ "country", "url" ], "type": "object", "description": "Merchant Descriptor data.", "properties": { "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 2, "maxLength": 2, "description": "ISO 3166-1 alpha-2 country code." }, "url": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 255, "description": "Merchant URL." } } }, "domainName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 255, "description": "(Conditional) Merchant URL." }, "language": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 5, "maxLength": 5, "description": "Merchant's preferred locale. For example:[\"en_US\",\"fr_CA\"] ISO language country pair. [ISO 639-1 Code] [ISO 3166-1 alpha-2 country code]" } } }, "paymentOptions": { "type": "object", "description": "Payment Options data.", "properties": { "dpaDynamicDataTtlMinutes": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 10, "description": "Requested \"Time to Live\" (expiry period) of the Dynamic Data, specified in minutes." }, "dynamicDataType": { "type": "string", "description": "Type of Dynamic Data required in the payload \nPossible values: \n - `TAVV`\n - `DAVV`\n - `NONE`\n" } } }, "attachments": { "type": "array", "items": { "type": "object", "description": "Attachment data.", "properties": { "name": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Type/Name of the image. For example - product, payment confirmation, cart etc." }, "contentType": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 30, "description": "Content Type of the image. For example - image/jpeg, image/png, application/pdf etc." }, "content": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Image(Binary) in Base64 encoded with no padding." } } } } } } } }, "example": { "clientCorrelationId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "paymentInformation": { "customer": { "id": "" }, "paymentInstrument": { "id": "" }, "instrumentIdentifier": { "id": "458CC7D865E5024FE063AF598E0AA950" } }, "transactionData": [ { "clientReferenceInformation": { "code": "a151052b-b701-4562-a52f-86ee8de9bc53ac" }, "mandateReferenceData": [ { "mandateId": "d48ac10b-58cc-4372-a567-0e02b2c3d489" }, { "mandateId": "a12bc34d-56ef-7890-b123-4cd56ef78901" } ], "type": "PURCHASE", "orderInformation": { "amountDetail": { "totalAmount": "100", "currency": "USD", "subTotalAmount": "100", "discountAmount": "100", "shippingAmount": "13", "handlingAmount": "25" }, "shipTo": { "addressId": "8d7962f5-b9c7-4e5b-bf53-9f357dc90957", "district": "Financial District", "address1": "123 Main St", "address2": "Apt 1", "address3": "Suite 200", "locality": "San Francisco", "administrativeArea": "CA", "country": "US", "postalCode": "94105", "createTime": "1735690745", "lastUsedTime": "1735690745", "firstName": "John", "middleName": "", "lastName": "Doe", "email": "john.doe@example.com", "countryCallingCode": "1", "phoneNumber": "4155551234", "numberIsVoiceOnly": false, "instructions": "Leave it at the front door" }, "lineItems": [ { "items": { "productSku": "SKU-1234", "productName": "Balloons", "quantity": "10", "unitPrice": "100.00", "unitPriceCurrency": "USD", "amountDetail": { "totalAmount": "100.00", "currency": "USD", "subTotalAmount": "10.00", "discountAmount": "6.00", "shippingAmount": "6.00", "handlingAmount": "0.00" }, "productUrl": "https://example.com/product/1234", "policies": { "termsAndConditions": "Standard terms and conditions apply", "cancellationPolicy": "Cancel within 24 hours for full refund", "refundPolicy": "30-day money back guarantee", "disputePolicy": "Contact customer service for disputes", "shippingPolicy": "Ships within 2-3 business days", "discountAndPromotions": "10% off first purchase", "propertyName": "" }, "additionalInfo": [ { "key": "color", "value": "red" } ] } } ], "deliveryMethod": "ADDRESS_ON_FILE" }, "paymentServiceProviderUrl": "https://psp.example.com", "paymentServiceProviderName": "Example PSP", "merchantOrderId": "d48ac10b-58cc-4372-a567-0e02b2c3d489", "merchantInformation": { "merchantId": "27416273", "merchantName": "John Doe", "categoryCode": "5311", "merchantDescriptor": { "country": "US", "url": "www.merchant.com" }, "domainName": "merchantDomain", "language": "en_US" }, "paymentOptions": { "dpaDynamicDataTtlMinutes": "10080", "dynamicDataType": "TAVV" }, "attachments": [ { "name": "product-image", "contentType": "image/jpeg", "content": "/9j/4AAQSkZJRgABAQAAAQABAAD" } ] } ] } }, "confirmTransactionEvents_request": { "required": [ "clientCorrelationId", "paymentInformation", "confirmationData" ], "type": "object", "properties": { "clientCorrelationId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Client Correlation Id used during the tokenization or during FIDO assertion." }, "paymentInformation": { "required": [ "instrumentIdentifier" ], "type": "object", "description": "Payment Information data. References the tokenized payment card to use for this transaction. At least one of customer, paymentInstrument, or instrumentIdentifier must be provided. The instrumentIdentifier is the most commonly used reference. If you have a TMS instrument identifier, provide it in instrumentIdentifier.id.", "properties": { "customer": { "type": "object", "description": "Customer data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "description": "Payment Instrument data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "required": [ "id" ], "type": "object", "description": "Instrument Identifier data.", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.", "minLength": 12, "maxLength": 32 } } } } }, "confirmationData": { "type": "array", "description": "(Required) Contains Transaction, Order and Payment Confirmation Events.", "items": { "required": [ "clientReferenceInformation", "processorInformation" ], "type": "object", "properties": { "clientReferenceInformation": { "required": [ "code" ], "type": "object", "description": "Client reference information.", "properties": { "code": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "A distinct identifier for this order/line item. This ID will act as a reference to connect this line item with payment details, \npayment transactions, and confirmation events.\n" } } }, "orderInformation": { "type": "object", "properties": { "orderId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 100, "description": "Unique identifier for the order" }, "orderStatus": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Status of the order" }, "orderDate": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Order date (UTC time in Epoch format)" }, "expectedDeliveryDate": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Expected delivery date for the order (UTC time in Epoch format)" }, "amountDetail": { "required": [ "currency", "totalAmount" ], "type": "object", "description": "Amount Detail data. Breaks down the total transaction amount into components.", "properties": { "totalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The final amount that the customer needs to pay or paid." }, "currency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "(Conditional) ISO 4217 currency code. Currency in which the transactionAmount, subTotal, tax, Shipping& handling or discount amount is expressed.\nConditionality - Required when either transactionAmount, subTotal, tax, Shipping& handling or discount amount is present.\n" }, "subTotalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total transaction amount before any taxes or discounts are applied." }, "discountAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total discount amount applied to the transaction." }, "shippingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." }, "handlingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." } } }, "shipTo": { "required": [ "country", "countryCallingCode", "phoneNumber" ], "type": "object", "description": "Shipping information.", "properties": { "addressId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 36, "maxLength": 36, "description": "(Conditional) Reference identifier of the address Conditionality - Required when address is already registered with VACP System.\nOptional for requests when address fields are provided.\n" }, "district": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 100, "description": "Name of the business; Name of the community; c/o Name etc. Notes - Shipping Address - The final recipient's name will be captured \nin deliveryContacts field. Billing Address - The Card Holder or Consumer Name will be recorded as part of Card or Order Information.\n" }, "address1": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 75, "description": "(Conditional) Address line 1 Conditionality - Required when used with the DPA Registration operation in the Management Service APIs\nRequired when address is used as shipping/delivery Address.\n" }, "address2": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 75, "description": "Address line 2." }, "address3": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 75, "description": "Address line 3." }, "locality": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "(Conditional) Address city Conditionality - When used with the DPA Registration operation in the Management \nService APIs at least one of the following is required \n- both city and state\n- zip Required if this is a shipping address in a valid format for the country\n" }, "administrativeArea": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 30, "description": "(Conditional) Address state Recommendation to support ISO 3166-2 format i.e. made up of ISO 3166-1 alpha 2 country code, \nfollowed by an alphanumeric string of 3 characters representing the state or sub-division Conditionality - \nWhen used with the DPA Registration operation in the Management Service APIs at least one of the following is required \n- both city and state\n- zip Required if this is a shipping address in a valid format for the country.\n" }, "country": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 2, "maxLength": 2, "description": "Address country code ISO 3166-1 alpha-2 country code." }, "postalCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 16, "description": "Address zip/postal code Conditionality - When used with the DPA Registration operation in th Management Service APIs \nat least one of the following is required. \n- both city and state \n- zip Required if this is a shipping address in a valid format for the country and has a postal code or zip code\n" }, "createTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Date and time the address was created. UTC time in Unix epoch format." }, "lastUsedTime": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 12, "description": "Date and time the address was last used. UTC time in Unix epoch format." }, "firstName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 60, "description": "First name of the recipient." }, "middleName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 60, "description": "Middle name of the recipient." }, "lastName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 60, "description": "Last name of the recipient." }, "email": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Consumer-provided email address." }, "countryCallingCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 4, "description": "Phone number country code as defined by the International Telecommunication Union." }, "phoneNumber": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 4, "maxLength": 14, "description": "Phone number without country code." }, "numberIsVoiceOnly": { "type": "boolean", "description": "Indicates that the phone number provided is not capable of receiving text messages." }, "instructions": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 1024, "description": "Consumer-provided delivery instructions." } } }, "shippingDetails": { "type": "object", "description": "Shipping Details data.", "properties": { "shippingMethod": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 128, "description": "Method of shipping (e.g., Standard, Express)" } } }, "trackingId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Tracking ID for the shipment" }, "carrier": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Shipping carrier or provider" }, "lineItems": { "type": "array", "items": { "type": "object", "description": "Item details.", "properties": { "items": { "type": "object", "properties": { "productSku": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "Unique identifier for the product." }, "productName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 10, "description": "Name of the product." }, "quantity": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 10, "description": "(Conditional) Quantity of the product." }, "unitPrice": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The price of a single unit." }, "unitPriceCurrency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "ISO 4217 currency code. Currency in which the unit price is expressed." }, "amountDetail": { "required": [ "currency", "totalAmount" ], "type": "object", "description": "Amount Detail data. Breaks down the total transaction amount into components.", "properties": { "totalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The final amount that the customer needs to pay or paid." }, "currency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "(Conditional) ISO 4217 currency code. Currency in which the transactionAmount, subTotal, tax, Shipping& handling or discount amount is expressed.\nConditionality - Required when either transactionAmount, subTotal, tax, Shipping& handling or discount amount is present.\n" }, "subTotalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total transaction amount before any taxes or discounts are applied." }, "discountAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total discount amount applied to the transaction." }, "shippingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." }, "handlingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." } } }, "productUrl": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "URL of the product." }, "policies": { "type": "object", "description": "Policies related to the item.", "properties": { "termsAndConditions": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the sale, payment, use of the product." }, "cancellationPolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the cancellation of the order." }, "refundPolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the refund." }, "disputePolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the dispute." }, "shippingPolicy": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the shipping." }, "discountAndPromotions": { "type": "string", "pattern": "(?s)(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 4098, "description": "Any specific terms and conditions related to the discount." }, "propertyName": { "type": "object" } } }, "additionalInfo": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Key for the additional information." }, "value": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 255, "description": "Value for the additional information." } } } } } } } } } } }, "merchantInformation": { "type": "object", "description": "Merchant Information data", "properties": { "merchantId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 255, "description": "Reference identifier of the Merchant" }, "merchantName": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 255, "description": "Merchant name" }, "categoryCode": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 0, "maxLength": 4, "description": "Merchant Category Code (MCC). Describes the merchant's type of business, product or service" } } }, "processorInformation": { "required": [ "transactionType", "transactionStatus" ], "type": "object", "description": "Payment/Transaction Confirmation Data provided by the payment processor/acquirer.", "properties": { "dynamicDataId": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 0, "maxLength": 50, "description": "A unique reference ID that represents the dynamic data associated with a transaction" }, "transactionType": { "type": "string", "description": "Type of payment transaction\nPossible values:\n - 'PURCHASE'\n - 'AUTHORIZATION'\n - 'CAPTURE'\n - 'REFUND'\n - 'REVERSAL'\n - 'VERIFICATION'\n - 'CHARGEBACK'\n - 'FRAUD'\n" }, "transactionStatus": { "type": "string", "description": "Status of payment transaction\nPossible values:\n - 'APPROVED'\n - 'DECLINED'\n - 'PENDING'\n - 'ERROR'\n - 'CANCELLED'\n" }, "responseCode": { "type": "string", "minLength": 0, "maxLength": 2, "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "description": "2 Digit Response code sent directly from the payment processor" }, "transactionTimestamp": { "type": "string", "minLength": 1, "maxLength": 12, "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "description": "Date and time of the transaction (UTC time in Epoch format)" }, "approvalCode": { "type": "string", "minLength": 0, "maxLength": 128, "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "description": "Authorization code. Returned when the processor returns this value" }, "retrievalReferenceNumber": { "type": "string", "minLength": 0, "maxLength": 64, "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "description": "Unique number to identify the transaction. It is used with other data elements to identify and track all messages related to a transaction" }, "systemTraceAuditNumber": { "type": "string", "minLength": 0, "maxLength": 64, "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "description": "System Trace Audit Number. Audit number assigned by the payment network" }, "acquirerReferenceNumber": { "type": "string", "minLength": 0, "maxLength": 64, "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "description": "Acquirer Reference Number. Reference number assigned by the acquirer" }, "amountDetail": { "required": [ "currency", "totalAmount" ], "type": "object", "description": "Amount Detail data. Breaks down the total transaction amount into components.", "properties": { "totalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The final amount that the customer needs to pay or paid." }, "currency": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 3, "maxLength": 3, "description": "(Conditional) ISO 4217 currency code. Currency in which the transactionAmount, subTotal, tax, Shipping& handling or discount amount is expressed.\nConditionality - Required when either transactionAmount, subTotal, tax, Shipping& handling or discount amount is present.\n" }, "subTotalAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total transaction amount before any taxes or discounts are applied." }, "discountAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.*$", "minLength": 1, "maxLength": 12, "description": "The total discount amount applied to the transaction." }, "shippingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." }, "handlingAmount": { "type": "string", "pattern": "(?!^[*.,'#_/-]+$)(?!.*\\./.*)^.+$", "minLength": 1, "maxLength": 12, "description": "The total shipping and handling cost(amount) applied to the transaction." } } }, "entryMode": { "type": "string", "description": "Method of entering payment card information\nPossible values: \n - 'EMV'\n - 'CONTACTLESS'\n - 'MANUAL'\n - 'ECOMMERCE'\n - 'WALLET'\n" }, "paymentInstrument": { "type": "object", "description": "Details of the PAN associated with the enrolled card. Contains processor verification results.", "properties": { "verificationResults": { "type": "object", "properties": { "cvv2VerificationCode": { "type": "string", "minLength": 0, "maxLength": 2, "description": "Cvv2 verification result" }, "addressVerificationCode": { "type": "string", "minLength": 0, "maxLength": 2, "description": "Address verification result" } } } } } } } } } } }, "example": { "clientCorrelationId": "3e1b7943-6567-4965-a32b-5aa93d057d35", "paymentInformation": { "customer": { "id": "" }, "paymentInstrument": { "id": "" }, "instrumentIdentifier": { "id": "458CC7D865E5024FE063AF598E0AA950" } }, "confirmationData": [ { "clientReferenceInformation": { "code": "a151052b-b701-4562-a52f-86ee8de9bc53ac" }, "orderInformation": { "orderId": "ORD-98765", "orderStatus": "COMPLETED", "orderDate": "1735690745", "expectedDeliveryDate": "1784841600", "amountDetail": { "totalAmount": "42.5", "currency": "USD", "subTotalAmount": "40.00", "discountAmount": "2.50", "shippingAmount": "5.00", "handlingAmount": "2.00" }, "shipTo": { "addressId": "8d7962f5-b9c7-4e5b-bf53-9f357dc90957", "district": "Financial District", "address1": "123 Main St", "address2": "Apt 4B", "address3": "Building C", "locality": "San Francisco", "administrativeArea": "CA", "country": "US", "postalCode": "94105", "createTime": "1735690745", "lastUsedTime": "1735690745", "firstName": "John", "middleName": "A", "lastName": "Doe", "email": "john.doe@example.com", "countryCallingCode": "1", "phoneNumber": "4155551234", "numberIsVoiceOnly": "false", "instructions": "Leave at front door" }, "shippingDetails": { "shippingMethod": "STANDARD", "trackingId": "TRACK-123456" }, "carrier": "UPS", "lineItems": [ { "items": { "productSku": "PROD-001", "productName": "Sample Product", "quantity": "1", "unitPrice": "40.00", "unitPriceCurrency": "USD", "amountDetail": { "totalAmount": "42.50", "currency": "USD", "subTotalAmount": "40.00", "discountAmount": "2.50", "shippingAmount": "5.00", "handlingAmount": "2.00" }, "productUrl": "https://example.com/product/001", "policies": { "termsAndConditions": "Standard terms and conditions apply", "cancellationPolicy": "Cancel within 24 hours for full refund", "refundPolicy": "30-day money back guarantee", "disputePolicy": "Contact customer service for disputes", "shippingPolicy": "Ships within 2-3 business days", "discountAndPromotions": "10% off first purchase", "additionalProperties": { "warranty": "1 year", "origin": "USA" } }, "additionalInfo": [ { "key": "color", "value": "blue" }, { "key": "material", "value": "cotton" } ] } } ] }, "merchantInformation": { "merchantId": "MERCH-12345", "merchantName": "Example Merchant", "categoryCode": "5411" }, "processorInformation": { "dynamicDataId": "DDID-123456", "transactionType": "PURCHASE", "transactionStatus": "APPROVED", "responseCode": "00", "transactionTimestamp": "1762053600", "approvalCode": "AUTH-789012", "retrievalReferenceNumber": "RRN-456789", "systemTraceAuditNumber": "STAN-123456", "acquirerReferenceNumber": "ARN-987654", "amountDetail": { "totalAmount": "42.50", "currency": "USD", "subTotalAmount": "40.00", "discountAmount": "2.50", "shippingAmount": "5.00", "handlingAmount": "2.00" }, "entryMode": "MANUAL", "paymentInstrument": { "verificationResults": { "addressVerificationCode": "Y", "cvv2VerificationCode": "M" } } } } ] } }, "provisionMppCredentials_request": { "required": [ "instrumentId", "challenge" ], "type": "object", "description": "Request object for provisioning an MPP payment token.", "properties": { "instrumentId": { "type": "string", "minLength": 1, "description": "TMS instrument identifier referencing the stored card." }, "challenge": { "required": [ "id", "realm", "amount", "currency", "acceptedNetworks", "merchantId", "merchantName", "encryption_jwk" ], "type": "object", "description": "MPP challenge context received from the merchant's 402 response.", "properties": { "id": { "type": "string", "minLength": 1, "description": "Unique challenge identifier issued by the merchant server." }, "realm": { "type": "string", "minLength": 1, "description": "Merchant realm (typically the API domain)." }, "amount": { "type": "string", "minLength": 1, "description": "Amount in the smallest currency unit (e.g., '4999' = $49.99)." }, "currency": { "type": "string", "minLength": 3, "maxLength": 3, "description": "Three-letter ISO 4217 currency code, lowercase (e.g., 'usd')." }, "acceptedNetworks": { "type": "array", "description": "Card networks accepted by the merchant (e.g., ['visa', 'mastercard']).", "items": { "type": "string" } }, "merchantId": { "type": "string", "minLength": 1, "description": "Merchant identifier (maps to 'recipient' in MPP spec request object)." }, "merchantName": { "type": "string", "minLength": 1, "description": "Human-readable merchant name." }, "encryption_jwk": { "required": [ "kty", "kid", "use", "alg", "n", "e" ], "type": "object", "description": "Merchant RSA public encryption key as a JSON Web Key (JWK, RFC 7517). Must be RSA (kty=RSA), alg=RSA-OAEP-256, use=enc. Used to encrypt the token payload using RSA-OAEP with SHA-256 per MPP spec Section 7.4.", "properties": { "kty": { "type": "string", "minLength": 1, "description": "Key type. MUST be 'RSA'." }, "kid": { "type": "string", "minLength": 1, "description": "Key ID. Identifies the key within a JWKS." }, "use": { "type": "string", "minLength": 1, "description": "Public key use. MUST be 'enc'." }, "alg": { "type": "string", "minLength": 1, "description": "Algorithm. MUST be 'RSA-OAEP-256'." }, "n": { "type": "string", "minLength": 1, "description": "RSA modulus (Base64urlUInt-encoded per RFC 7518 Section 6.3.1.1)." }, "e": { "type": "string", "minLength": 1, "description": "RSA public exponent (Base64urlUInt-encoded per RFC 7518 Section 6.3.1.2)." } } } } } }, "example": { "instrumentId": "459F91C888E1ED0EE063AF598E0AA44D", "challenge": { "id": "ch_9xK2mR4vB7nQ", "realm": "api.merchant.com", "amount": "1200", "currency": "USD", "acceptedNetworks": [ "visa" ], "merchantId": "merch_abc123", "merchantName": "acme_corp", "encryption_jwk": { "kty": "RSA", "kid": "test-enc-key-01", "use": "enc", "alg": "RSA-OAEP-256", "n": "sEpiOr0VIbr20jGqJ0DUjdmbyhpr_kJ30e661yFv0z4epiPH1UEnAK4w6Ja9RDWZXY4usRYtAoFc3FihpOWEaAjjm6doqCQTn4Re2eiekeBtTZje6kZL7OZxoI3LGeInySfMzVYltySmEJIDyn_TF9npIQFcDItHVhhxDqkHuCI6MrWqQyyOXjacZaHUDcvhidyxRELlALWA_2xdGpR6kWknqqf0gQCWx-3jCfDoI3BQLUDdKDK700ptbuDT-ThCabGAw7TYJQu2lT1nIWpxzH-3kyvZwiCTYYsCh2lrv_aaO3gskKMqWZJBgJwjF0AVDc7mUOvttxibxz2LsnZDhQIDAQAB", "e": "AQAB" } } } } } }