swagger: '2.0' info: description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html version: 0.0.1 title: CyberSource Merged Spec bankAccountValidation TransactionDetails API host: apitest.cybersource.com basePath: / schemes: - https consumes: - application/json;charset=utf-8 produces: - application/hal+json;charset=utf-8 tags: - name: TransactionDetails paths: /tss/v2/transactions/{id}: get: summary: Retrieve a Transaction description: Include the Request ID in the GET request to retrieve the transaction details. tags: - TransactionDetails produces: - application/hal+json;charset=utf-8 operationId: getTransaction x-devcenter-metaData: categoryTag: Transaction_Details developerGuides: https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_details_api.html parameters: - name: id in: path description: 'Request ID. ' required: true type: string x-depends: example: path: /pts/v2/payments verb: post exampleId: example0 fieldMapping: - sourceField: id destinationField: id fieldTypeInDestination: path responses: '200': description: Successful response. schema: title: tssV2TransactionsGet200Response type: object properties: id: type: string maxLength: 26 description: 'An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. ' rootId: type: string maxLength: 26 description: Contains the transaction identifier for the first transaction in the series of transactions. For example, you might send an authorization request for a payment, followed by a capture request for that payment, and then a refund request for that captured payment. Each of those requests, if successful, creates a resource that is assigned an identifier, which is returned in the response. The rootId identifies the first ID in the series, which in this case would be the ID of the original authorization. reconciliationId: type: string maxLength: 60 description: 'Reference number for the transaction. Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource. The actual value used in the request to the processor is provided back to you by Cybersource in the response. ' merchantId: type: string description: Your CyberSource merchant ID. submitTimeUTC: type: string description: 'Time of request in UTC. Format: `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. Returned by Cybersource for all services. ' status: type: string description: The status of the submitted transaction. applicationInformation: type: object properties: status: type: string description: The status of the submitted transaction. reasonCode: type: string description: 'Indicates the reason why a request succeeded or failed and possible action to take if a request fails. For details, see the appendix of reason codes in the documentation for the relevant payment method. ' rCode: type: string description: 'Indicates whether the service request was successful. Possible values: - `-1`: An error occurred. - `0`: The request was declined. - `1`: The request was successful. ' rFlag: type: string description: 'One-word description of the result of the application. ' applications: type: array items: type: object properties: name: type: string description: 'The name of the CyberSource transaction type (such as CC settlement or CC authorization) that the merchant wants to process in a transaction request. More than one transaction type can included in a transaction request. Each transaction type separately returns their own status, reasonCode, rCode, and rFlag messages. ' status: type: string description: The description for this field is not available. reasonCode: type: string description: 3-digit reason code that indicates why the customer profile payment succeeded or failed. rCode: type: string description: 'Indicates whether the service request was successful. Possible values: - `-1`: An error occurred. - `0`: The request was declined. - `1`: The request was successful. ' rFlag: type: string description: 'One-word description of the result of the application. ' reconciliationId: type: string description: 'Reference number that you use to reconcile your CyberSource reports with your processor reports. ' rMessage: type: string description: 'Message that explains the reply flag for the application. ' returnCode: type: integer description: The description for this field is not available. bankAccountValidation: type: object properties: rawValidationCode: type: integer description: "Raw Validation Codes for routing number and account number\n\n Possible values:\n • -1: Unable to perform validation/Unknown error\n • -2: Service Unavailable\n • 12 to 16: Validation results\n" resultCode: type: integer description: "Result codes for account number and routing number\n\n Possible values: 00, 04, 98, 99\n" resultMessage: type: string buyerInformation: type: object properties: merchantCustomerId: type: string maxLength: 100 description: 'Your identifier for the customer. When 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. #### Comercio Latino For recurring payments in Mexico, the value is the customer''s contract number. Note Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions. #### Worldpay VAP For a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order given, for a customer account ID value and uses the first value it finds: 1. `customer_account_id` value in the follow-on credit request 2. Customer account ID value that was used for the capture that is being credited 3. Customer account ID value that was used for the original authorization If a customer account ID value cannot be found in any of these locations, then no value is used. ' hashedPassword: type: string maxLength: 100 description: 'The merchant''s password that CyberSource hashes and stores as a hashed password. ' 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 transaction so that you can perform meaningful searches for the transaction. #### Used by **Authorization** Required field. #### PIN Debit Requests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being reversed. Required field for all PIN Debit requests (purchase, credit, and reversal). #### FDC Nashville Global Certain 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. ' applicationVersion: type: string description: 'Version of the CyberSource application or integration used for a transaction. ' 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. ' 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. ' partner: type: object properties: solutionId: type: string maxLength: 8 description: 'Identifier for the partner that is integrated to CyberSource. Send this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner. **Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect. ' thirdPartyCertificationNumber: type: string maxLength: 12 description: 'Value that identifies the application vendor and application version for a third party gateway. CyberSource provides you with this value during testing and validation. This field is supported only on CyberSource through VisaNet. #### Used by **Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void** Optional field. #### PIN debit Required field for PIN debit credit, PIN debit purchase, or PIN debit reversal request. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' consumerAuthenticationInformation: type: object properties: eciRaw: type: string maxLength: 2 description: 'Raw electronic commerce indicator (ECI). ' cavv: type: string maxLength: 40 description: Cardholder authentication verification value (CAVV). xid: type: string maxLength: 40 description: 'Transaction identifier. ' transactionId: type: string description: Payer auth Transaction identifier. strongAuthentication: type: object properties: lowValueExemptionIndicator: type: string maxLength: 1 description: 'This field will contain the low value exemption indicator with one of the following values: Possible values: - `0` ( low value exemption does not apply to the transaction) - `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment) ' riskAnalysisExemptionIndicator: type: string maxLength: 1 description: 'This field will contain the transaction risk analysis exemption indicator with one of the following values: Possible values: - `0` (TRA exemption does not apply to the transaction) - `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) ' trustedMerchantExemptionIndicator: type: string maxLength: 1 description: 'Possible values: - `0` (Trusted merchant exemption does not apply to the transaction) - `1` (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder) ' secureCorporatePaymentIndicator: type: string maxLength: 1 description: 'This field will contain the secure corporate payment exemption indicator with one of the following values: Possible values: - `0` (SCA exemption does not apply to the transaction) - `1` (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment) ' delegatedAuthenticationExemptionIndicator: type: string maxLength: 1 description: 'This field will contain the delegated authentication exemption indicator with one of the following values: Possible values: - `0` (delegated Authentication exemption does not apply to the transaction) - `1` (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer)) ' deviceInformation: type: object properties: ipAddress: type: string maxLength: 45 description: 'IP address of the customer. #### Used by **Authorization, Capture, and Credit** Optional field. ' hostName: type: string maxLength: 60 description: DNS resolved hostname from `ipAddress`. cookiesAccepted: type: string description: 'Whether the customer''s browser accepts cookies. This field can contain one of the following values: - `yes`: The customer''s browser accepts cookies. - `no`: The customer''s browser does not accept cookies. ' errorInformation: type: object properties: reason: type: string description: '1-word description of why a request succeeded or failed. ' message: type: string description: 'The user-facing description for why a request succeeded or failed. ' details: type: array items: type: object properties: field: type: string description: This is the flattened JSON object field name/path that is either missing or invalid. reason: type: string description: "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" installmentInformation: type: object properties: numberOfInstallments: type: string description: Number of Installments. identifier: type: string maximum: 60 description: 'Standing Instruction/Installment identifier. ' fraudMarkingInformation: type: object properties: reason: type: string description: 'Reason for adding the transaction to the negative list. This field can contain one of the following values: - fraud_chargeback: You have received a fraudrelated chargeback for the transaction. - non_fraud_chargeback: You have received a non-fraudulent chargeback for the transaction. - suspected: You believe that you will probably receive a chargeback for the transaction. - creditback: You issued a refund to the customer to avoid a chargeback for the transaction. ' 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. Valid Values for **Visa**: - `healthcare` - Total Amount Healthcare - `healthcare-transit` - Amount Transit - `vision` - Amount Vision/Optical - `prescription` - Amount Prescription/RX - `clinic` - Amount Clinic/Other Qualified Medical - `dental` - Amount Dental `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. Valid Values for **MasterCard**: - `prescription` - Amount Prescription/RX - `eligible-total` - Total Amount Healthcare `Note:` - Prescription must be preceded with the total healthcare amount and cannot occur individually. Total Healthcare amount can be sent individually. ' amount: type: string maxLength: 13 description: 'Total Amount that has been spent on the corresponding amountType. This is 13 byte field including sign. If the amount is positive, then it is a debit for the customer. If the amount is negative, then it is a credit for the customer. ' merchantDefinedInformation: type: array description: 'The object containing the custom data that the merchant defines. ' 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. For example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`. #### CyberSource through VisaNet For installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and `merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the transaction. ' 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" merchantInformation: type: object properties: merchantDescriptor: type: object properties: name: type: string description: 'Your merchant name. **Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22. #### PIN debit Your business name. This name is displayed on the cardholder''s statement. When you include more than one consecutive space, extra spaces are removed. When you do not include this value in your PIN debit request, the merchant name from your account is used. **Important** This value must consist of English characters. Optional field for PIN debit credit or PIN debit purchase requests. #### Airline processing Your merchant name. This name is displayed on the cardholder''s statement. When you include more than one consecutive space, extra spaces are removed. **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. **Important** This value must consist of English characters. Required for captures and credits. ' orderInformation: type: object properties: 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. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### SEPA Required for Create Mandate and Import Mandate #### BACS Required for Import Mandate #### CyberSource Latin American Processing **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.\ **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. #### CyberSource through VisaNet Credit 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. #### For Payouts: This field may be sent only for FDC Compass. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' lastName: type: string maxLength: 60 description: 'Customer''s last name. This name must be the same as the name on the card. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### SEPA Required for Create Mandate and Import Mandate #### BACS Required for Import Mandate #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### CyberSource Latin American Processing **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.\ **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. #### CyberSource through VisaNet Credit 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. #### For Payouts: This field may be sent only for FDC Compass. #### OmniPay Direct Optional field. #### RBS WorldPay Atlanta Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' middleName: type: string maxLength: 60 description: 'Customer''s middle name. ' nameSuffix: type: string maxLength: 60 description: 'Customer''s name suffix. ' address1: type: string maxLength: 60 description: 'Payment card billing street address as it appears on the credit card issuer''s records. #### SEPA Required for Create Mandate and Import Mandate #### Atos This field must not contain colons (:). #### CyberSource through VisaNet **Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2, CyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters, CyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank. Truncating this value affects AVS results and therefore might also affect risk decisions and chargebacks. Credit 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. #### FDMS Nashville When the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_, it must be sent as _1 1st Street_. Required if keyed; not used if swiped. String (20) #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### All other processors: Optional. String (60) #### For Payouts This field may be sent only for FDC Compass. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. ' address2: type: string maxLength: 60 description: 'Used for additional address information. For example: _Attention: Accounts Payable_ Optional field. For Payouts: This field may be sent only for FDC Compass. #### Atos This field must not contain colons (:). #### CyberSource through VisaNet **Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`, CyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters, CyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank. Truncating this value affects AVS results and therefore might also affect risk decisions and chargebacks. Credit 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. #### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions This value is used for AVS. #### FDMS Nashville `orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters. String (20) #### All Other Processors String (60) ' locality: type: string maxLength: 50 description: 'Payment card billing city. #### SEPA Required for Create Mandate and Import Mandate #### Atos This field must not contain colons (:). #### CyberSource through VisaNet Credit 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. #### For Payouts: This field may be sent only for FDC Compass. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' 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). For Payouts: This field may be sent only for FDC Compass. ##### CyberSource through VisaNet Credit 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. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' 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: string maxLength: 60 description: 'Name of the customer''s company. **CyberSource through VisaNet** Credit 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. ' email: type: string maxLength: 255 description: 'Customer''s email address, including the full domain name. #### CyberSource through VisaNet Credit 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. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Invoicing Email 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. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' 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). #### SEPA/BACS Required for Create Mandate and Import Mandate #### CyberSource through VisaNet Credit 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. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' title: type: string maxLength: 60 description: 'Title. ' phoneNumber: type: string maxLength: 15 description: 'Customer''s phone number. It is recommended that you include the country code when the order is from outside the U.S. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### CyberSource through VisaNet Credit 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. #### For Payouts: This field may be sent only for FDC Compass. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Optional field. #### Worldpay VAP Optional field. #### All other processors Not used. ' shipTo: type: object properties: firstName: type: string maxLength: 60 description: 'First name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field. ' lastName: type: string maxLength: 60 description: 'Last name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field. ' address1: type: string maxLength: 60 description: 'First line of the shipping address. Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present. ' address2: type: string maxLength: 60 description: 'Second line of the shipping address. Optional field. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present. ' locality: type: string maxLength: 50 description: 'City of the shipping address. Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present. ' 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). For Payouts: This field may be sent only for FDC Compass. ##### CyberSource through VisaNet Credit 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. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Chase Paymentech Solutions Optional field. #### Credit Mutuel-CIC Optional field. #### OmniPay Direct Optional field. #### SIX Optional field. #### TSYS Acquiring Solutions Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`. #### Worldpay VAP Optional field. #### All other processors Not used. ' postalCode: type: string maxLength: 32 description: 'Postal code for the shipping address. The postal code must consist of 5 to 9 digits. Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. When the billing country is the U.S., the 9-digit postal code must follow this format: [5 digits][dash][4 digits] Example 12345-6789 When the billing country is Canada, the 6-digit postal code must follow this format: [alpha][numeric][alpha][space][numeric][alpha][numeric] Example A1B 2C3 #### American Express Direct Before sending the postal code to the processor, all nonalphanumeric characters are removed and, if the remaining value is longer than nine characters, the value is truncated starting from the right side. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present. ' company: type: string maxLength: 60 description: 'Name of the customer''s company. ' 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) Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present. ' maxLength: 3 phoneNumber: type: string maxLength: 15 description: Phone number associated with the shipping address. lineItems: type: array description: Transaction Line Item data. items: type: object properties: productCode: type: string maxLength: 255 description: 'Type of product. This value is used to determine the category that the product is in: electronic, handling, physical, service, or shipping. The default value is **default**. For a payment, when you set this field to a value other than default or any of the values related to shipping and handling, below fields _quantity_, _productName_, and _productSKU_ are required. ' productName: type: string maxLength: 255 description: 'For PAYMENT and CAPTURE API, this field is required when above _productCode_ is not **default** or one of the values related to shipping and handling. ' productSku: type: string maxLength: 255 description: 'Identification code for the product. For Payment and Capture APIs, this field is required when above `productCode` is not **default** or one of the values related to shipping and/or handling. ' 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\n1. 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`\n2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nThis field is frequently used for Level II and Level III transactions.\n" quantity: type: integer minimum: 1 maximum: 999999999 description: 'For a payment or capture, this field is required when _productCode_ is not **default** or one of the values related to shipping and handling. ' default: 1 unitPrice: type: string maxLength: 15 description: 'Per-item price of the product. 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. ' fulfillmentType: type: string description: The description for this field is not available. 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) #### Used by **Authorization** Required field. **Authorization Reversal** For 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. #### PIN Debit Currency 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). Returned by PIN debit purchase. For 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. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. ' taxAmount: type: string maxLength: 12 description: 'Total tax amount for all the items in the order. ' authorizedAmount: type: string maxLength: 15 description: 'Amount that was authorized. Returned by authorization service. #### PIN debit Amount of the purchase. Returned by PIN debit purchase. ' 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. This field is returned for OCT transactions. ' 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. This field is returned for OCT transactions. ' refundBalance: type: string maxLength: 15 description: The remaining amount which can be refunded. 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. If the amount is positive, then it is a debit for the customer. If the amount is negative, then it is a credit for the customer. **NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8. #### PIN debit Surcharge amount that you are charging the customer for this transaction. If you include a surcharge amount in the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`. Optional field for transactions that use PIN debit credit or PIN debit purchase. ' shippingDetails: type: object properties: giftWrap: type: boolean description: 'Boolean that indicates whether the customer requested gift wrapping for this purchase. This field can contain one of the following values: - true: The customer requested gift wrapping. - false: The customer did not request gift wrapping. ' 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" invoiceDetails: type: object properties: salesSlipNumber: type: integer maximum: 99999 description: 'Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt. This field is supported only on Cybersource through Visanet and JCN gateway. Optional field. #### Card Present processing message If you included this field in the request, the returned value is the value that you sent in the request. If you did not include this field in the request, the system generated this value for you. The difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the system generates the system trace audit number (STAN), and you must print the receipt number on the receipt; whereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt. ' 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. Possible values: - `CARD` (use this for a PIN debit transaction) - `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit) - `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP) - `localCard` (KCP Local card via Altpay) - `carrierBilling` (KCP Carrier Billing via Altpay) ' type: type: string description: 'Indicates the payment type used in this payment transaction. Example: credit card, check' method: type: string description: Indicates the payment method used in this payment transaction. eWallet: type: object properties: name: type: string maxLength: 30 description: 'Valid Values: - CreditCard - BankTransfer - MobileTransfer - KakaoMoney - NaverPayPoint ' fundingSource: type: string maxLength: 30 description: 'Valid Values: - PAYCO - Kakaopay - NaverPay - SSG Pay - L.Pay - Apple Pay - TOSS Pay - Samsung Pay ' customer: type: object properties: customerId: type: string description: 'Unique identifier for the customer''s card and billing information. When you use Payment Tokenization or Recurring Billing and you include this value in your request, many of the fields that are normally required for an authorization or credit become optional. **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. ' id: type: string description: 'Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 1 maxLength: 32 card: type: object properties: suffix: type: string description: 'Last four digits of the cardholder''s account number. This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### PIN debit This field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder. Returned by PIN debit credit and PIN debit purchase. This field is supported only by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX ' prefix: type: string maxLength: 6 description: 'Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. ' expirationMonth: type: string maxLength: 2 description: 'Two-digit month in which the payment card expires. Format: `MM`. Valid values: `01` through `12`. Leading 0 is required. #### Barclays and Streamline For 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. #### Encoded Account Numbers For encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`. #### FDMS Nashville Required field. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. ' expirationYear: type: string maxLength: 4 description: 'Four-digit year in which the payment card expires. Format: `YYYY`. #### Barclays and Streamline For 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. #### Encoded Account Numbers For encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`. #### FDMS Nashville Required field. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. ' 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. **Note** The start date is not required for Maestro (UK Domestic) transactions. ' 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`. **Note** The start date is not required for Maestro (UK Domestic) transactions. ' 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. **Note** The issue number is not required for Maestro (UK Domestic) transactions. ' type: type: string description: 'Three-digit value that indicates the card type. **IMPORTANT** 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. Possible values: - `001`: Visa. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: WalMart - `014`: Enroute[^1] - `015`: Lowe''s Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick''s Sportswear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Maestro (UK Domestic)[^1] - `025`: Sam''s Club Consumer - `026`: Sam''s Club Business - `027`: Nico''s - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `038`: Pinless Debit - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: JCrew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico card - `054`: Elo[^3] - `055`: Capitol One Private Label - `056`: Carnet - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: MEEZA - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan [^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. [^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. [^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. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International ' brandName: type: string 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 - 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" 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. ' 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. ' 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" brands: type: array description: 'This array contains the supported brands. ' items: type: object properties: type: type: string description: 'Three-digit value that indicates the card type. **IMPORTANT** 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. Possible values: - `001`: Visa. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: WalMart - `014`: Enroute[^1] - `015`: Lowe''s Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick''s Sportswear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Maestro (UK Domestic)[^1] - `025`: Sam''s Club Consumer - `026`: Sam''s Club Business - `027`: Nico''s - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `038`: Pinless Debit - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: JCrew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico card - `054`: Elo[^3] - `055`: Capitol One Private Label - `056`: Carnet - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: MEEZA - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan [^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. [^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. [^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. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International ' brandName: type: string 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 - 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" 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 - `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" invoice: type: object properties: number: type: string description: Invoice Number. barcodeNumber: type: string description: Barcode Number. expirationDate: type: string description: Expiration Date. network: type: object properties: id: type: string maxLength: 5 description: 'This field contains a code that identifies the network. Please refer [Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code) ' issuerInformation: type: object properties: name: type: string maxLength: 200 description: 'This field contains the issuer name. ' 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. ' binLength: type: string maxLength: 2 description: 'This field contains the length of the BIN. ' phoneNumber: type: string maxLength: 50 description: 'This field contains the customer service phone number for the issuer. ' transactionInformation: type: string maxLength: 36 description: "In a Mastercard Transaction, this field contains the unique identifier (Transaction Link ID) for the first transaction in a transaction life cycle. \nThis ID is crucial for maintaining continuity and linking subsequent operations to the original transaction.\n" bank: type: object properties: routingNumber: type: string description: 'Bank routing number. This is also called the transit number. ' branchCode: type: string description: 'Code used to identify the branch of the customer''s bank. Required for some countries if you do not or are not allowed to provide the IBAN. Use this field only when scoring a direct debit transaction. ' swiftCode: type: string description: 'Bank''s SWIFT code. You can use this field only when scoring a direct debit transaction. Required only for crossborder transactions. ' bankCode: 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. ' 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. ' account: type: object properties: suffix: type: string description: 'Last four digits of the customer''s payment account number. ' prefix: type: string description: 'Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number. ' checkNumber: type: string maxLength: 8 description: 'Check number. Chase Paymentech Solutions - Optional. CyberSource ACH Service - Not used. RBS WorldPay Atlanta - Optional on debits. Required on credits. TeleCheck - Strongly recommended on debit requests. Optional on credits. ' 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" name: type: string description: 'Name used on the bank account. You can use this field only when scoring a direct debit transaction ' checkDigit: type: string description: 'Code used to validate the customer''s account number. Required for some countries if you do not or are not allowed to provide the IBAN instead. You may use this field only when scoring a direct debit transaction. ' encoderId: type: string maxLength: 3 description: 'Identifier for the bank that provided the customer''s encoded account number. To obtain the bank identifier, contact your processor. ' mandate: type: object properties: referenceNumber: type: string description: 'Unique value generated by CyberSource that identifies the transaction. Use this value to identify transactions in the Collections Report, which provides settlement information. For details, see the `direct_debit_reconciliation_reference_number` reply field description in [Ingenico ePayments Developer Guide For Direct Debits.](https://apps.cybersource.com/library/documentation/dev_guides/Ingenico_ePayments_Dev/html/) ' recurringType: type: string description: 'Whether the direct debit is the first or last direct debit associated with the mandate, or one in between. Required only for the United Kingdom. Possible values: - `001`: First direct debit associated with this mandate. Use this value if a one-time direct debit). - `002`: Subsequent direct debits associated with this mandate. - `003`: Last direct debit associated with this mandate. For details, see the `direct_debit_recurring_type` request field description in [Ingenico ePayments Developer Guide For Direct Debits.](https://apps.cybersource.com/library/documentation/dev_guides/Ingenico_ePayments_Dev/html/) ' id: type: string description: 'The mandate ID. Required only for the United Kingdom. For details, see the `mandate_id` request field description in [Ingenico ePayments Developer Guide For Direct Debits.](https://apps.cybersource.com/library/documentation/dev_guides/Ingenico_ePayments_Dev/html/) ' accountFeatures: type: object properties: balanceAmount: type: string maxLength: 12 description: 'Remaining balance on the account. Returned by authorization service. #### PIN debit Remaining balance on the prepaid card. Returned by PIN debit purchase. ' previousBalanceAmount: type: string maxLength: 12 description: 'Remaining balance on the account. Returned by authorization service. #### PIN debit Remaining balance on the prepaid card. Returned by PIN debit purchase. ' currency: type: string maxLength: 5 description: 'Currency of the remaining balance on the account. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) Returned by authorization service. #### PIN debit Currency of the remaining balance on the prepaid card. Returned by PIN debit purchase. ' paymentInstrument: type: object properties: id: type: string description: 'Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 1 maxLength: 32 instrumentIdentifier: type: object properties: id: type: string description: 'Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 12 maxLength: 32 shippingAddress: type: object properties: id: type: string description: 'Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 1 maxLength: 32 fluidData: type: object properties: descriptor: type: string maxLength: 128 description: 'The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values: Samsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ= Note: 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. Used by Authorization and Standalone Credits. Required for authorizations and standalone credits. Card Present processing: Format of the encrypted payment data. The value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`. The value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field. If paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==` If paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504` ' paymentInsightsInformation: type: object properties: responseInsights: type: object properties: category: type: string maxLength: 60 description: 'Categorization of response message from processor Possible Values: - `ISSUER_WILL_NEVER_APPROVE` - `ISSUER_CANNOT_APPROVE_AT_THIS_TIME` - `ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS` - `GENERIC_ERROR` - `PAYMENT_INSIGHTS_INTERNAL_ERROR` - `OTHERS` - `PAYMENT_INSIGHTS_RESPONSE_CATEGORY_MATCH_NOT_FOUND` ' categoryCode: type: string maxLength: 2 description: 'Categorization Code of response message from processor Possible Values: - `01` : ISSUER_WILL_NEVER_APPROVE - `02` : ISSUER_CANNOT_APPROVE_AT_THIS_TIME - `03` : ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS - `04` : GENERIC_ERROR - `97` : PAYMENT_INSIGHTS_INTERNAL_ERROR - `98` : OTHERS - `99` : PAYMENT_INSIGHTS_RESPONSE_CATEGORY_MATCH_NOT_FOUND ' processorRawName: type: string maxLength: 40 description: 'Raw name of the processor used for the transaction processing, especially useful during acquirer swing to see which processor transaction settled with ' orchestration: type: object properties: infoCodes: type: array items: type: string maxLength: 60 description: 'Infocodes indicating which rules were triggered by the Service Orchestration product. ' payoutOptions: type: object properties: payoutInquiry: type: string maxLength: 5 description: 'If true then provide attributes related to fund transfer/payouts. If payout information not found then response will have standard account lookup. Possible values: - `true` - `false` ' 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: 1: First unscheduled transaction. 2: Subsequent unscheduled transaction. ' processingInformation: type: object properties: binSource: type: string description: 'Bin Source File Identifier. Possible values: - itmx - rupay ' industryDataType: type: string maxLength: 20 description: 'Indicates that the transaction includes industry-specific data. Possible Values: - `airline` - `restaurant` - `lodging` - `auto_rental` - `transit` - `healthcare_medical` - `healthcare_transit` - `transit` #### Card Present, Airlines and Auto Rental You must set this field to `airline` in order for airline data to be sent to the processor. For example, if this field is not set to `airline` or is not included in the request, no airline data is sent to the processor. You must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field is not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor. You must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this field is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor. Restaurant data is supported only on CyberSource through VisaNet. ' paymentSolution: type: string maxLength: 50 description: 'Type of digital payment solution for the transaction. ' 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" 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" 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" 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" 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" 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" initiator: type: object properties: type: type: string description: 'This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction. Valid values: - **customer** - **merchant** ' credentialStoredOnFile: type: string description: 'Indicates to the issuing bank two things: - The merchant has received consent from the cardholder to store their card details on file - The merchant wants the issuing bank to check out the card details before the merchant initiates their first transaction for this cardholder. The 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. Valid values: - `Y` means merchant will use this transaction to store payment credentials for follow-up merchant-initiated transactions. - `N` means merchant will not use this transaction to store payment credentials for follow-up merchant-initiated transactions. **NOTE:** The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported only for Visa transactions on CyberSource through VisaNet. ' storedCredentialUsed: type: string description: 'Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file. Possible values: - **Y** means the merchant-initiated transaction came from a card that was already stored on file. - **N** means the merchant-initiated transaction came from a card that was not stored on file. ' merchantInitiatedTransaction: type: object title: merchantInitiatedTransactionObject properties: reason: type: string maxLength: 1 description: 'Reason for the merchant-initiated transaction or incremental authorization. Possible values: - `1`: Resubmission - `2`: Delayed charge - `3`: Reauthorization for split shipment - `4`: No show - `5`: Account top up This field is required only for the five kinds of transactions in the preceding list. This field is supported only for merchant-initiated transactions and incremental authorizations. #### CyberSource through VisaNet The value for this field corresponds to the following data in the TC 33 capture file5: - Record: CP01 TCR0 - Position: 160-163 - Field: Message Reason Code ' previousTransactionId: type: string maxLength: 15 description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_ in the reply message for either the original merchant-initiated payment in the series or the previous merchant-initiated payment in the series. If the current payment request includes a token instead of an account number, the following time limits apply for the value of this field: - For a **resubmission**, the transaction ID must be less than 14 days old. - For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old. **NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported only for Visa transactions on CyberSource through VisaNet. ' originalAuthorizedAmount: type: string maxLength: 61 description: 'Amount of the original authorization. This field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech. ' agreementId: type: string description: 'This field contains the predetermined agrement id with the merchant ' bankTransferOptions: type: object properties: secCode: type: string description: 'Specifies the authorization method for the transaction. Possible values: - `ARC`: account receivable conversion - `CCD`: corporate cash disbursement - `POP`: point of purchase conversion - `PPD`: prearranged payment and deposit entry - `TEL`: telephone-initiated entry - `WEB`: internet-initiated entry ' captureOptions: type: object properties: 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" 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" reconciliationId: type: string maxLength: 60 description: 'Reference number for the transaction. Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource. The actual value used in the request to the processor is provided back to you by Cybersource in the response. ' japanPaymentOptions: type: object properties: paymentMethod: type: string maxLength: 2 description: 'This value is a 2-digit code indicating the payment method. Use Payment Method Code value that applies to the tranasction. - 10 (One-time payment) - 21, 22, 23, 24 (Bonus(one-time)payment) - 61 (Installment payment) - 31, 32, 33, 34 (Integrated (Bonus + Installment)payment) - 80 (Revolving payment) ' terminalId: type: string maxLength: 13 description: 'Unique Japan Credit Card Association (JCCA) terminal identifier. The difference between this field and the `pointOfSaleInformation.terminalID` field is that you can define `pointOfSaleInformation.terminalID`, but `processingInformation.japanPaymentOptions.terminalId` is defined by the JCCA and is used only in Japan. This field is supported only on CyberSource through VisaNet and JCN Gateway. Optional field. ' 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. ' 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. ' businessNameEnglish: type: string maxLength: 25 description: 'Business name in English characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet. ' 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. ' amount: type: string maxLength: 8 description: 'This value contains the bonus amount of the first month. Maximum value without decimal 99999999. ' firstBillingMonth: type: string maxLength: 2 description: 'Billing month in MM format. ' numberOfInstallments: type: string maximum: 99 description: 'Number of Installments. ' preApprovalType: type: string maxLength: 1 description: 'This will contain the details of the kind of transaction that has been processe. Used only for Japan. Possible Values: - 0 = Normal (authorization with amount and clearing/settlement; data capture or paper draft) - 1 = Negative card authorization (authorization-only with 0 or 1 amount) - 2 = Reservation of authorization (authorization-only with amount) - 3 = Cancel transaction - 4 = Merchant-initiated reversal/refund transactions - 5 = Cancel reservation of authorization - 6 = Post authorization ' validationLevel: type: integer description: 'Enter 1 for routing and account number validation. ' processorInformation: type: object properties: processor: type: object properties: name: type: string maxLength: 30 description: 'Name of the Processor. ' multiProcessorRouting: type: array description: An array of object that contains the list of acquirer response codes & reasons if a transaction is routed to multiple acquirers. items: type: object properties: name: type: string maxLength: 30 description: 'Name of the Processor. ' responseCode: type: string maxLength: 10 description: 'For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. **Important** Do not use this field to evaluate the result of the authorization. #### PIN debit Response value that is returned by the processor or bank. **Important** Do not use this field to evaluate the results of the transaction request. Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal. #### AIBMS If this value is `08`, you can accept the transaction if the customer provides you with identification. #### Atos This value is the response code sent from Atos and it might also include the response code from the bank. Format: `aa,bb` with the two values separated by a comma and where: - `aa` is the two-digit error message from Atos. - `bb` is the optional two-digit error message from the bank. #### Comercio Latino This value is the status code and the error or response code received from the processor separated by a colon. Format: [status code]:E[error code] or [status code]:R[response code] Example `2:R06` #### JCN Gateway Processor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field. String (3) #### paypalgateway Processor generated ID for the itemized detail. ' reasonCode: type: string description: 'Indicates the reason why a request succeeded or failed and possible action to take if a request fails. For details, see the appendix of reason codes in the documentation for the relevant payment method. ' sequence: type: string description: 'The order in which the transaction was routed to the processor ' transactionId: type: string maxLength: 255 description: 'Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service. #### PIN debit Transaction identifier generated by the processor. Returned by PIN debit credit. #### GPX Processor transaction ID. #### Cielo For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank. #### Comercio Latino For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank. #### CyberSource through VisaNet and GPN For details about this value for CyberSource through VisaNet and GPN, see "processorInformation.networkTransactionId" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf) #### Moneris This value identifies the transaction on a host system. It contains the following information: - Terminal used to process the transaction - Shift during which the transaction took place - Batch number - Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. **Example** For the value 66012345001069003: - Terminal ID = 66012345 - Shift number = 001 - Batch number = 069 - Transaction number = 003 ' networkTransactionId: type: string description: Same value as `processorInformation.transactionId` retrievalReferenceNumber: type: string maxLength: 20 description: '#### Ingenico ePayments Unique number that CyberSource generates to identify the transaction. You can use this value to identify transactions in the Ingenico ePayments Collections Report, which provides settlement information. Contact customer support for information about the report. ### CyberSource through VisaNet Retrieval request number. ' responseId: type: string description: 'Response ID sent from the processor. ' approvalCode: type: string maxLength: 6 description: 'Authorization code. Returned only when the processor returns this value. The length of this value depends on your processor. Returned by authorization service. #### PIN debit Authorization code that is returned by the processor. Returned by PIN debit credit. #### Elavon Encrypted Account Number Program The returned value is OFFLINE. #### TSYS Acquiring Solutions The returned value for a successful zero amount authorization is 000000. ' responseCode: type: string maxLength: 10 description: 'For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. **Important** Do not use this field to evaluate the result of the authorization. #### PIN debit Response value that is returned by the processor or bank. **Important** Do not use this field to evaluate the results of the transaction request. Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal. #### AIBMS If this value is `08`, you can accept the transaction if the customer provides you with identification. #### Atos This value is the response code sent from Atos and it might also include the response code from the bank. Format: `aa,bb` with the two values separated by a comma and where: - `aa` is the two-digit error message from Atos. - `bb` is the optional two-digit error message from the bank. #### Comercio Latino This value is the status code and the error or response code received from the processor separated by a colon. Format: [status code]:E[error code] or [status code]:R[response code] Example `2:R06` #### JCN Gateway Processor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field. String (3) #### paypalgateway Processor generated ID for the itemized detail. ' avs: type: object properties: code: type: string maxLength: 1 description: 'AVS result code. Returned by authorization service. ' codeRaw: type: string maxLength: 10 description: 'AVS result code sent directly from the processor. Returned only when the processor returns this value. **Important** Do not use this field to evaluate the result of AVS. Use for debugging purposes only. Returned by authorization service. ' cardVerification: type: object properties: resultCode: type: string maxLength: 1 description: 'CVN result code. ' achVerification: type: object properties: resultCode: type: string maxLength: 2 description: 'Results from the ACH verification service. ' resultCodeRaw: type: string maxLength: 10 description: 'Raw results from the ACH verification service. ' electronicVerificationResults: type: object properties: email: type: string maxLength: 1 description: 'Mapped Electronic Verification response code for the customer''s email address. ' emailRaw: type: string maxLength: 1 description: Raw Electronic Verification response code from the processor for the customer's email address. name: type: string maxLength: 30 description: '#### Visa Platform Connect Mapped Electronic Verification response code for the customer''s name. Valid values : ''Y'' Yes, the data Matches ''N'' No Match ''O'' Partial Match ' nameRaw: type: string maxLength: 30 description: '#### Visa Platform Connect Raw Electronic Verification response code from the processor for the customer''s name. Valid values : ''01'' Match ''50'' Partial Match ''99'' No Match ' phoneNumber: type: string maxLength: 1 description: 'Mapped Electronic Verification response code for the customer''s phone number. ' phoneNumberRaw: type: string maxLength: 1 description: Raw Electronic Verification response code from the processor for the customer's phone number. street: type: string maxLength: 1 description: 'Mapped Electronic Verification response code for the customer''s street address. ' streetRaw: type: string maxLength: 1 description: Raw Electronic Verification response code from the processor for the customer's street address. postalCode: type: string maxLength: 1 description: 'Mapped Electronic Verification response code for the customer''s postal code. ' postalCodeRaw: type: string maxLength: 1 description: Raw Electronic Verification response code from the processor for the customer's postal code. issuerInformation: type: object properties: name: type: string maxLength: 20 description: 'Name of the card issuer provided by the processor. ' code: type: string maxLength: 10 description: Unique code for card issuer provided by the processor. eventStatus: type: string description: 'The event status. ' systemTraceAuditNumber: type: string maxLength: 6 description: 'This field is returned only for **American Express Direct** and **CyberSource through VisaNet**. Returned by authorization and incremental authorization services. #### American Express Direct System trace audit number (STAN). This value identifies the transaction and is useful when investigating a chargeback dispute. #### CyberSource through VisaNet System trace number that must be printed on the customer''s receipt. ' responseCodeSource: type: string maxLength: 1 description: 'Used by Visa only and contains the response source/reason code that identifies the source of the response decision. ' paymentAccountReferenceNumber: type: string maxLength: 29 description: 'Payment Account Reference (PAR) is a non-financial reference assigned to each unique payment account and used to link a payment account to associated network tokens, i.e. the same PAR is returned for PAN-based and tokenized transactions, such as from digital wallets. PAR can be returned in authorisation responses for requests initiated with both real PANs and tokenized PANs. PAR can be used by merchants for fraud detection and regulatory compliance across different channels and digital wallets. 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. **Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR8 - Position: 79-110 - Field: Payment Account Reference 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 networks. ' responseDetails: type: string maxLength: 255 description: 'This field might contain information about a decline. ' rawResponseLocal: type: string maxLength: 255 description: Failure reason returned by the processor in the local language of the processor. rawResponse: type: string maxLength: 255 description: Failure reason returned by the processor. routing: type: object properties: network: type: string maxLength: 4 description: 'PIN Debit Services: Contains the ID of the debit network to which the transaction was routed. | Code | Network | | --- | --- | | 0000 | Priority Routing or Generic File Update | | 0002 | Visa programs, Private Label and non-Visa Authorization Gateway Services | | 0003 | Interlink | | 0004 | Plus | | 0008 | Star | | 0009 | Pulse| | 0010 | Star | | 0011 | Star | | 0012 | Star (primary network ID) | | 0013 | AFFN | | 0015 | Star | | 0016 | Maestro | | 0017 | Pulse (primary network ID) | | 0018 | NYCE (primary network ID) | | 0019 | Pulse | | 0020 | Accel | | 0023 | NETS | | 0024 | CU24 | | 0025 | Alaska Option | | 0027 | NYCE | | 0028 | Shazam | | 0029 | EBT POS | FDC Nashville Global authorization service: Indicates whether the transaction was routed to a credit network, a debit network, or the STAR signature debit network. - `C`: Credit network - `D`: Debit network (without signature) - `S`: STAR signature debit network ' networkName: type: string maxLength: 10 description: 'Name of the network to which the transaction was routed. ' customerSignatureRequired: type: string maxLength: 1 description: 'Indicates whether you need to obtain the cardholder''s signature. Possible values: - `Y`: You need to obtain the cardholder''s signature. - `N`: You do not need to obtain the cardholder''s signature. ' recurringPaymentInformation: type: object properties: amountType: type: string maxLength: 1 description: 'Indicates recurring amount type agreed by the cardholder Valid Values : 1- Fixed amount recurring payment 2- Recurring payment with maximum amount ' 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" 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" 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" 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" riskInformation: type: object properties: profile: type: object properties: name: type: string description: 'The name of the profile. ' decision: type: string description: 'Decision returned by the profile; this field contains one of these values: - ACCEPT - REJECT - REVIEW ' rules: type: array items: type: object description: Names of one or more rules that were processed, and the decisions made by the rules. properties: name: type: string maxLength: 255 description: Description of the rule as it appears in the Profile Editor. decision: type: string maxLength: 255 description: 'Summarizes the result for the rule according to the setting that you chose in the Profile Editor. This field can contain one of the following values: - `IGNORE` - `REVIEW` - `REJECT` - `ACCEPT` ' passiveProfile: type: object properties: name: type: string description: 'The name of the profile. ' decision: type: string description: 'Decision returned by the profile; this field contains one of these values: - ACCEPT - REJECT - REVIEW ' passiveRules: type: array items: type: object description: Names of one or more rules that were processed, and the decisions made by the rules. properties: name: type: string maxLength: 255 description: Description of the rule as it appears in the Profile Editor. decision: type: string maxLength: 255 description: 'Summarizes the result for the rule according to the setting that you chose in the Profile Editor. This field can contain one of the following values: - `IGNORE` - `REVIEW` - `REJECT` - `ACCEPT` ' score: type: object properties: factorCodes: type: array description: Array of factor codes. items: type: string description: Represents a factor code. result: type: integer description: 'The description for this field is not available. ' localTime: type: string description: Time that the transaction was submitted in local time. Generated by Cybersource. senderInformation: type: object properties: 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" tokenInformation: type: object properties: customer: type: object properties: id: type: string description: 'Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 1 maxLength: 32 paymentInstrument: type: object properties: id: type: string description: 'Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 1 maxLength: 32 shippingAddress: type: object properties: id: type: string description: 'Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 1 maxLength: 32 instrumentIdentifier: type: object properties: id: type: string description: 'Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action. ' minLength: 12 maxLength: 32 jti: type: string description: 'TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV). ' transientTokenJwt: type: string description: 'Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result. ' _links: type: object properties: self: type: object properties: href: type: string description: This is the endpoint of the resource that was created by the successful request. method: type: string description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.' relatedTransactions: type: array items: type: object properties: href: type: string description: This is the endpoint of the resource that was created by the successful request. method: type: string description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.' example: id: '5330579740206278601009' rootId: '5330571038726320201013' reconciliationId: 53703847LK9LPPXY merchantId: pa_rbsworldpay submitTimeUtc: '2018-07-31T17:26:14Z' status: PENDING applicationInformation: status: PENDING reasonCode: '100' rCode: '1' rFlag: SOK applications: - name: ics_bill status: PENDING reasonCode: '100' rCode: '1' rFlag: SOK reconciliationId: 53703847LK9LPPXY rMessage: Request was processed successfully. returnCode: 1260000 bankAccountValidation: rawValidationCode: '12' resultCode: '00' resultMessage: Validated buyerInformation: merchantCustomerId: '123456' hashedPassword: fhjfhj clientReferenceInformation: code: ECERT001 applicationVersion: '1.0' applicationName: SCMP API applicationUser: ng_paymentech partner: solutionId: '89012345' thirdPartyCertificationNumber: '123456789012' comments: Test comment about this order - Expedited shipping consumerAuthenticationInformation: eciRaw: '02' cavv: '12345' xid: '12345678' transactionId: 00152259513040478521 strongAuthentication: lowValueExemptionIndicator: '1' riskAnalysisExemptionIndicator: '1' trustedMerchantExemptionIndicator: '1' secureCorporatePaymentIndicator: '1' delegatedAuthenticationExemptionIndicator: '1' deviceInformation: ipAddress: 1.10.10.10 hostName: cybs test cookiesAccepted: 'no' errorInformation: reason: MISSING_FIELD message: abc details: - field: xyz reason: MISSING_FIELD installmentInformation: numberOfInstallments: 0 identifier: '1234567' fraudMarkingInformation: reason: suspected healthCareInformation: amountDetails: amountType: healthcare-transit amount: '100.00' merchantDefinedInformation: - key: abc value: xyz merchantInformation: merchantDescriptor: name: ng_paymentech orderInformation: billTo: firstName: JAMES lastName: DOUGH middleName: ROY nameSuffix: Mr address1: 600 Morgan Falls Road address2: Room 2-2123 locality: Atlanta administrativeArea: GA postalCode: '30350' company: cybersource email: jdough@cybersource.com country: US title: Manager phoneNumber: '6509656111' shipTo: firstName: Test lastName: TSS address1: 201S.DivisionSt._1 address2: Suite500 locality: Austin administrativeArea: TX postalCode: '78750' company: cybs country: US phoneNumber: '5120000000' lineItems: - productCode: code2 productName: name2 productSku: KKY taxAmount: '3.00' quantity: 2 unitPrice: '5.00' fulfillmentType: abc amountDetails: totalAmount: '100.00' currency: USD taxAmount: '5' authorizedAmount: '100.00' settlementAmount: '97.50' settlementCurrency: USD surcharge: '1.11' refundBalance: '0.00' shippingDetails: giftWrap: none shippingMethod: xyz invoiceDetails: salesSlipNumber: '12345' paymentInformation: paymentType: name: paymentProcessor1234 type: Credit method: method name eWallet: fundingSource: CreditCard name: PAYCO customer: customerId: '123' id: 1C56E3115482033FEA539399130A4BC2 paymentAccountInformation: card: suffix: '1111' prefix: '123' expirationMonth: '10' expirationYear: '2017' startMonth: '11' startYear: '2011' issueNumber: '1234' type: '001' brandName: VISA currency: USD credentialType: PAN accountEncoderId: '12' useAs: overidepaymentmethod brands: - type: '001' brandName: VISA features: accountFundingSource: CREDIT accountFundingSourceSubType: Non-reloadable cardProduct: Visa Classic messageType: D acceptanceLevel: '0' cardPlatform: CONSUMER comboCard: '0' network: id: '0002' issuerInformation: name: BC CARD COMPANY, LIMITED country: US binLength: '6' accountPrefix: '123456' phoneNumber: '6509656111' transactionInformation: 7af749d8-f883-42e7-8b42-2204578d22e1 payoutInformation: pushFunds: moneyTransferFastFundsCrossBorder: Y moneyTransferFastFundsDomestic: Y moneyTransferCrossBorder: Y moneyTransferDomestic: Y nonMoneyTransferFastFundsCrossBorder: Y nonMoneyTransferFastFundsDomestic: Y nonMoneyTransferCrossBorder: Y nonMoneyTransferDomestic: Y onlineGamblingFastFundsCrossBorder: N onlineGamblingFastFundsDomestic: N onlineGamblingCrossBorder: N onlineGamblingDomestic: N domesticParticipant: 'true' pullFunds: domesticParticipant: 'false' crossBorderParticipant: 'false' geoRestrictionIndicator: Y payoutOptions: payoutInquiry: 'true' networkId: '0002' acquirerBin: '123456' invoice: number: BOLETONUM34567890123barcode12345678901231234567890 barcodeNumber: barcode1234567890123barcode12345678901231234567890 expirationDate: '2018-01-07T07:59:59.999Z' bank: routingNumber: routing123 branchCode: branchcode1234567 swiftCode: bankswift1 bankCode: bankcode1212345 iban: SUFF account: suffix: '1111' prefix: '123456' checkNumber: '123456' type: check name: BankAccountName123456789012345 checkDigit: CD encoderId: AID mandate: referenceNumber: mandaterefnum1234567 recurringType: direct1234 id: mandateId1 accountFeatures: balanceAmount: '3.00' previousBalanceAmount: '2.00' currency: usd paymentInstrument: id: 1C56E3115482033FEA539399130A4BC2 instrumentIdentifier: id: 1C56E3115482033FEA539399130A4BC2 shippingAddress: id: 1C56E3115482033FEA539399130A4BC2 fluidData: descriptor: bluefin paymentInsightsInformation: responseInsights: category: ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS categoryCode: '03' processorRawName: processorRawName123 unscheduledPaymentInformation: type: '1' processingInformation: binSource: itmx industryDataType: healthcare_transit paymentSolution: Visa commerceIndicator: '7' commerceIndicatorLabel: Motto businessApplicationId: '12345' authorizationOptions: authType: O authIndicator: '0' extendAuthIndicator: '1' cardVerificationIndicator: '0' initiator: type: Y credentialStoredOnFile: Y storedCredentialUsed: Y merchantInitiatedTransaction: reason: '1' previousTransactionId: networktransactionid67890 originalAuthorizedAmount: '100.00' agreementId: agreementId123 bankTransferOptions: secCode: web captureOptions: totalCaptureCount: '2' captureSequenceNumber: '1' reconciliationId: abc123 japanPaymentOptions: paymentMethod: '1' terminalId: '1234567890123' businessName: shop_local businessNameKatakana: shop_katakana businessNameEnglish: shop_local_english bonuses: - month: '07' amount: '999' - month: 08 amount: '9889' firstBillingMonth: '06' numberOfInstallments: '99' preApprovalType: '1' validationLevel: '2' processorInformation: processor: name: paymentProcessor1234 responseDetails: '0000' rawResponseLocal: 성공 rawResponse: success issuerInformation: name: 국민은행 code: BK04 multiProcessorRouting: - name: paymentProcessor0123 responseCode: responsecode01234567 reasonCode: '233' sequence: '1' - name: paymentProcessor1234 responseCode: responsecode12345678 reason: '100' sequence: '2' transactionId: processortransactionid123 networkTransactionId: networktransactionid67890 responseId: '1212' approvalCode: authcode1234567 retrievalReferenceNumber: '122908889379' responseCode: responsecode12345678 avs: code: ARM codeRaw: avsResults cardVerification: resultCode: Y achVerification: resultCode: rspcodmap resultCodeRaw: responsecode12345678 electronicVerificationResults: email: email@email.com emailRaw: emailRaw12 name: ename nameRaw: enameRaw12 phoneNumber: 01179 phoneNumberRaw: '9925551608' street: 123 street streetRaw: SteertRaw12 postalCode: '78717' postalCodeRaw: '1166678717' eventStatus: Pending systemTraceAuditNumber: '123456' responseCodeSource: '0' paymentAccountReferenceNumber: abc4545345dfsf2342342wfa routing: network: D networkName: PULSE customerSignatureRequired: N recurringPaymentInformation: amountType: '1' pointOfSaleInformation: terminalId: '1' entryMode: posentrymode1234512 terminalCapability: integer cardholderVerificationMethodUsed: 2 emv: tags: 5F25 riskInformation: profile: name: abc decision: xyz rules: - name: abc2 decision: xyz2 passiveProfile: name: abc3 decision: xyz3 passiveRules: - name: abc4 decision: xyz4 localTime: '2018-07-31T17:26:14Z' score: factorCodes: - AB result: 10 senderInformation: referenceNumber: senderRefNumber1 tokenInformation: customer: id: 1C56E3115482033FEA539399130A4BC2 paymentInstrument: id: 1C56E3115482033FEA539399130A4BC2 instrumentIdentifier: id: 1C56E3115482033FEA539399130A4BC2 shippingAddress: id: 1C56E3115482033FEA539399130A4BC2 jti: 1E0WC1GO87JG1BDP0CQ8SCR1TTK86U9N98H3WH8IFM9MVEWTIYFI62F4941E7A92 transientTokenJwt: eyJraWQiOiIwODd0bk1DNU04bXJHR3JHMVJQTkwzZ2VyRUh5VWV1ciIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJGbGV4LzA4IiwiZXhwIjoxNjYwMTk1ODcwLCJ0eXBlIjoiYXBpLTAuMS4wIiwiaWF0IjoxNjYwMTk0OTcwLCJqdGkiOiIxRTBXQzFHTzg3SkcxQkRQMENROFNDUjFUVEs4NlU5Tjk4SDNXSDhJRk05TVZFV1RJWUZJNjJGNDk0MUU3QTkyIiwiY29udGVudCI6eyJwYXltZW50SW5mb3JtYXRpb24iOnsiY2FyZCI6eyJudW1iZXIiOnsibWFza2VkVmFsdWUiOiJYWFhYWFhYWFhYWFgxMTExIiwiYmluIjoiNDExMTExIn0sInR5cGUiOnsidmFsdWUiOiIwMDEifX19fX0.MkCLbyvufN4prGRvHJcqCu1WceDVlgubZVpShNWQVjpuFQUuqwrKg284sC7ucVKuIsOU0DTN8_OoxDLduvZhS7X_5TnO0QjyA_aFxbRBvU_bEz1l9V99VPADG89T-fox_L6sLUaoTJ8T4PyD7rkPHEA0nmXbqQCVqw4Czc5TqlKCwmL-Fe0NBR2HlOFI1PrSXT-7_wI-JTgXI0dQzb8Ub20erHwOLwu3oni4_ZmS3rGI_gxq2MHi8pO-ZOgA597be4WfVFAx1wnMbareqR72a0QM4DefeoltrpNqXSaASVyb5G0zuqg-BOjWJbawmg2QgcZ_vE3rJ6PDgWROvp9Tbw _links: self: href: https://api.visa.com/payment/tss/v2/transactions/5330579740206278601009 method: GET relatedTransactions: - href: https://api.visa.com/payment/tss/v2/transactions/5330579740206278601010 method: GET - href: https://api.visa.com/payment/tss/v2/transactions/5330579740206278601011 method: GET '404': description: The specified resource not found in the system. '500': description: Unexpected server error x-devcenter-metaData: categoryTagArray: - name: Payments description: For more information about Payments transactions, see the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html). - name: Transaction_Batches description: For more information about Transaction Batches, see the [Transaction Batches Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html). - name: eCheck_AVS description: For more information about eCheck Account Validation, see the [Account Validation Developer Guides Page](https://...). - name: Token_Management description: For more information about the Token Management Service (TMS) see the [Token Management Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-overview.html) - name: Flex_Microform description: Microform Integration is a lightweight acceptance solution designed to safely and securely accept payment information within your web page. Microform is designed to a be embedded seamlessly within your existing webpage experience, blending in with your existing acceptance form. This solution allows for the replacement of sensitive payment date with a transient token (a short lived reference to the sensitive payment data). For more information about Flex Microform transactions, see the [Flex Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken.html). For examples on how to integrate Flex Microform within your webpage please see our [GitHub Flex Samples](https://github.com/CyberSource?q=flex&type=&language=) - name: Flex_API description: For more information about Flex API, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html). - name: Risk_Management - name: Payouts description: 'For more information about Payouts, see the [Payouts Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html). ' - name: Installments description: For more information about Installment contact Cybersource Support. For Visa installments contact VISthroughCYBS@visa.com - name: Recurring_Billing_Subscriptions description: For more information about Recurring Billing, see the [Recurring Billing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-developer/recur-bill-services-intro.html). - name: BIN_Lookup description: 'The BIN Lookup Service is a versatile business tool that provides card network agnostic solution designed to ensure frictionless transaction experience by utilizing up-to-date Bank Identification Number (BIN) attributes sourced from multiple global and regional data sources. This service helps to improve authorization rates by helping to route transactions to the best-suited card network, minimizes fraud through card detail verification and aids in regulatory compliance by identifying card properties. The service is flexible and provides businesses with a flexible choice of inputs such as primary account number (PAN), network token from major networks (such as Visa, American Express, Discover and regional networks) which includes device PAN (DPAN), and all types of tokens generated via CyberSource Token Management Service (TMS). Currently, the range of available credentials is contingent on the networks enabled for the business entity. Therefore, the network information specified in this documentation is illustrative and subject to personalized offerings for each reseller or merchant. ' - name: Transaction_Details description: For more information about Transaction Details, see the [Transaction Details Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_details_api.html). - name: Transaction_Search description: For more information about Transaction Search, see the [Transaction Search Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_search_api.html). - name: Reporting description: 'For more information about Reporting, see the [Reporting Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-reporting-rest-api-dev-guide-102718/reporting_api.html). ' - name: Secure_File_Share description: For more information about Secure File Share, see the [Secure File Share Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html). - name: Invoices description: For more information about Invoicing, see the [Invoicing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html). - name: Pay_By_Link description: For more information about PayByLink, see the [PBL Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/boarding/user/all/rest/boarding/templates-matrix-intro/templates-matrix-pay-by-link.html). - name: User_Management description: For more information about User Management, see the [User Managment Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-user-management-api-102718/user_management_api_intro.html). - name: Value_Added_Service - name: Fee Service - name: Merchant_Boarding description: For more information about Merchant Boarding, please see [Developer Guides Page](https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html). - name: Webhooks description: For more information about Webhooks, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html). - name: Unified_Checkout description: For more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html). - name: Unified_Checkoutv1 description: For more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-about-guide.html). - name: Account_Updater description: For more information about Account Updater, see the [Account Updater Developer Guides Page:](https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html). - name: Visa_Bank_Account_Validation description: 'The Visa Bank Account Validation Service is a new standalone product designed to validate customer''s routing and bank account number combination for ACH transactions. Merchant''s can use this standalone product to validate their customer''s account prior to processing an ACH transaction against the customer''s account to comply with Nacha''s account validation mandate for Web-debit transactions. ' - name: Currency Conversion description: 'Empower global transactions with transparency and choice. Our Dynamic Currency Conversion API lets merchants offer customers the option to pay in their home currency at checkout, delivering real-time exchange rates and clear cost disclosure. **Key Benefits:** - **Enhanced Customer Experience:** Provide clarity and convenience for international shoppers. - **Real-Time Rates:** Accurate currency conversion with all the data required for acquirers and their merchants to maintain compliance with card network rules. - **Seamless Integration:** Flexible API endpoints for rate lookup, authorization, and capture. - **Regulatory Compliance:** Provides the data required for acquirers and merchants to meet and maintain card scheme requirements for disclosure and consent. Ideal for merchants and payment partners seeking to boost trust and conversion in cross-border commerce. **Key Features:** - **Rate Lookup:** Retrieves the most up-to-date exchange rate for eligible cards before authorization. - **Currency Choice:** Enables the merchant to offer customers the option to select between the merchant''s local currency and their card''s billing currency. - **Compliance:** Ensures merchants have the data required to adhere to card network regulations; exchange rates, markups, etc. **Supported Scenarios:** - Dynamic Currency Conversion when cardholder''s billing currency differs from merchant''s pricing currency. - Merchant and acquirer must support the cardholder''s billing currency. **Core API Endpoints:** **Currency Conversion API** Returns eligibility and exchange rate details, including: - exchangeRate - marginRate - reconciliationId and Id (for subsequent payment requests) **Payment Authorization with DCC*** POST /pts/v2/payments Required fields include: - orderInformation.amountDetails.currency - orderInformation.amountDetails.originalCurrency - orderInformation.amountDetails.originalAmount - orderInformation.amountDetails.exchangeRate - currencyConversion.indicator (e.g., 1 = Converted, 2 = Nonconvertible, 3 = Declined) **Capture with DCC*** POST /pts/v2/payments/{id}/captures Maps from original authorization and includes original and converted amounts. **Refund with DCC*** POST /pts/v2/captures/{id}/refunds Maps from original authorization and includes original and converted amounts. *Note: DCC is only supported on select processors. Contact your acquirer or account manager for more information. **Compliance & Disclosure:** Merchants must: - Adhere to card network rules for Dynamic Currency Conversion (DCC) transactions. - Display the converted amount, exchange rate, and markup percentage and other required disclosures. - Obtain explicit cardholder consent before applying DCC. - Work with your acquirer to obtain full set of compliance requirements. For more information, see the [Currency Conversion Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/currency-conversion/developer/all/rest/currency-conversion/cc-intro.html). ' - name: Intelligent_Commerce_Connect description: For more information about Intelligent Commerce Cross Network Service API, please see [Developer Guides](https://developer.cybersource.com/docs/cybs/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-about-guide.html).