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 Payer Authentication API host: apitest.cybersource.com basePath: / schemes: - https consumes: - application/json;charset=utf-8 produces: - application/hal+json;charset=utf-8 tags: - name: Payer Authentication paths: /risk/v1/authentication-setups: post: summary: Setup Payer Auth description: A new service for Merchants to get reference_id for Digital Wallets to use in place of BIN number in Cardinal. Set up file while authenticating with Cardinal. This service should be called by Merchant when payment instrument chosen or changes. This service has to be called before enrollment check. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts. operationId: payerAuthSetup tags: - Payer Authentication produces: - application/hal+json;charset=utf-8 x-devcenter-metaData: categoryTag: Payer_Authentication developerGuides: https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html isMLEsupported: true mleForRequest: optional parameters: - name: payerAuthSetupRequest in: body required: true schema: type: object properties: clientReferenceInformation: type: object properties: code: type: string maxLength: 59 description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each 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. ' pausedRequestId: type: string maxLength: 26 description: 'Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' partner: type: object properties: developerId: type: string maxLength: 8 description: 'Identifier for the developer that helped integrate a partner solution to CyberSource. Send this value in all requests that are sent through the partner solutions built by that developer. CyberSource assigns the ID to the developer. **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect. ' 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. ' paymentInformation: type: object properties: card: type: object required: - expirationMonth - expirationYear - number 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 ' 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. ' number: type: string maxLength: 20 description: 'The customer''s payment card number, also known as the Primary Account Number (PAN). You can also use this field for encoded account numbers. #### FDMS Nashville Required. String (19) #### GPX 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. #### 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. ' tokenizedCard: type: object required: - transactionType - type - expirationMonth - expirationYear - number properties: transactionType: type: string maxLength: 1 description: 'Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer''s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. #### Visa Platform Connect - `1`: For Rupay and In App tokenization. Example: InApp apple pay. - `3`: Card/Credential On File Tokenization. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used. #### Rupay - `3`: Card/Credential On File Tokenization. - `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token. ' 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 ' expirationMonth: type: string maxLength: 2 description: 'One of two possible meanings: - The two-digit month in which a token expires. - The two-digit month in which a card expires. Format: `MM` Possible values: `01` through `12` **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### 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 (`card_type=039`), if there is no expiration date on the card, use `12`.\ **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Samsung Pay and Apple Pay Month in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. ' expirationYear: type: string maxLength: 4 description: 'One of two possible meanings: - The four-digit year in which a token expires. - The four-digit year in which a card expires. Format: `YYYY` Possible values: `1900` through `3000` Data type: Non-negative integer **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### 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 (`card_ type=039`), if there is no expiration date on the card, use `2021`. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of the year. #### Samsung Pay and Apple Pay Year in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. ' number: type: string maxLength: 20 description: 'Customer''s payment network token value. ' fluidData: type: object required: - value properties: value: type: string maxLength: 4000 description: 'Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant. Used by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method. Card Present processing This field represents the encrypted payment data generated by the payment terminal/device. ' keySerialNumber: type: string description: 'The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html) ' 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` ' encoding: type: string maxLength: 6 description: 'Encoding method used to encrypt the payment data. Valid values: `Base64`, `HEX` If no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding ' customer: type: object required: - customerId properties: customerId: type: string description: 'Unique identifier for the legacy Secure Storage token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional. ' minLength: 1 maxLength: 32 processingInformation: type: object properties: paymentSolution: type: string maxLength: 12 description: "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" visaCheckoutId: type: string maxLength: 48 description: 'Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in the Visa Checkout **callID** field. ' tokenInformation: type: object properties: transientToken: type: string description: 'A temporary ID that represents the customer''s payment data (which is securely stored in Visa Data Centers). Flex Microform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the first payment authorization is carried out (whichever occurs first). Valid value for the ID is a 64-character, alphanumeric string. Example: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53 ' jti: type: string maxLength: 64 description: 'TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV). ' responses: '201': description: Setup completed schema: title: riskV1AuthenticationSetupsPost201Response type: object properties: _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.' 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. ' 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 for payerAuthentication 201 setup calls. Possible value is: - COMPLETED - FAILED ' consumerAuthenticationInformation: type: object properties: accessToken: type: string description: 'JSON Web Token (JWT) used to authenticate the consumer with the authentication provider, such as, CardinalCommerce or Rupay. Note - Max Length of this field is 2048 characters. ' referenceId: type: string maxLength: 50 description: 'This identifier represents cardinal has started device data collection session and this must be passed in Authentication JWT to Cardinal when invoking the deviceDataCollectionUrl. ' deviceDataCollectionUrl: type: string maxLength: 100 description: 'The deviceDataCollectionUrl is the location to send the Authentication JWT when invoking the Device Data collection process. ' 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. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' partner: type: object properties: developerId: type: string maxLength: 8 description: 'Identifier for the developer that helped integrate a partner solution to CyberSource. Send this value in all requests that are sent through the partner solutions built by that developer. CyberSource assigns the ID to the developer. **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect. ' 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. ' errorInformation: type: object properties: reason: type: string description: "The reason of the status.\n\nPossible values:\n - EXPIRED_CARD\n - GENERAL_DECLINE\n" message: type: string description: The detail message related to the status and reason listed above. 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" '400': description: Invalid request schema: title: riskV1AuthenticationsPost400Response type: object properties: 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 for payerAuthentication 400 setup calls. Possible values are: - INVALID_REQUEST ' reason: type: string description: 'The reason of the status. ' message: type: string description: 'The message describing the reason of the status. Value is: - Encountered a Payer Authentication problem. Payer could not be setup. ' 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" '502': description: Unexpected system error or system timeout. schema: title: riskV1AuthenticationsPost502Response type: object properties: 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.\n\nPossible values:\n - SERVER_ERROR\n" reason: type: string description: "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" message: type: string description: The detail message related to the status and reason listed above. x-example: example0: summary: Setup Completion with Card Number value: paymentInformation: card: expirationMonth: '12' expirationYear: '2025' number: '4000000000002503' type: '001' example1: summary: Setup Completion with Fluid Data Value and Payment Solution value: paymentInformation: fluidData: value: eyJkYXRhIjoiOFJTK2o1a2ZLRjZkTnkzNVwvOTluR3ZEVis0WUVlaStBb2VmUUNMXC9SNTN0TnVMeHJxTzh4b1g2SnBScm9WWUVUOUNvUkhIWFZMRjJNSVNIZlVtM25UczltdGFPTUdqcW1oeWdjTFpWVWI3OHhxYVVUT2JwWUxLelY0dFR1QmhvRkV4UVJ1d2lvTmo2bXJsRlRjUm5LNzdcL2lCR01yYVlZcXZTVnhGK3ViK1JXK3BGeTRDNUVUOVhmcHBkS2xHYXVpODdzcTBtYVlYVk9qOGFaNTFMWjZvS1NKZkR1clhvWEtLNHRqd1wvaDVRK1dcL0x2dnJxSUhmZmVhK21MZXVRY3RHK0k3UUN6MTRpVmdROUFEMW1oWFUrbVdwZXRUQWZ5WXhoVituZlh1NlpISGRDWFV1cUp6djQydHg4UlwvN0lvdld5OWx6Z0N3YnpuclVsY3pUcThkb3JtV3A4eXhYQklDNnJHRTdlTVJrS3oxZFwvUFFDXC9DS2J1NDhNK0R4XC9VejNoUFwvZ1NnRGoxakJNcUllUUZiRWFzcTRWTUV1ZG9FNUh1UjBcLzRQMXJmdG9EVlpwNnhFdnF1STY5dkt2YnZHcXpmTkpUNjVnPT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNzQ2NTczNzQ2MTcwNzA2QzY5NjM2MTc0Njk2RjZFNjQ2MTc0NjEiLCJ0cmFuc2FjdGlvbklkIjoiNzQ2NTczNzQ3NDcyNjE2RTczNjE2Mzc0Njk2RjZFNjk2NCIsImVwaGVtZXJhbFB1YmxpY0tleSI6Ik1JSUJTekNDQVFNR0J5cUdTTTQ5QWdFd2dmY0NBUUV3TEFZSEtvWkl6ajBCQVFJaEFQXC9cL1wvXC84QUFBQUJBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9NRnNFSVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC84QkNCYXhqWFlxanFUNTdQcnZWVjJtSWE4WlIwR3NNeFRzUFk3emp3K0o5SmdTd01WQU1TZE5naUc1d1NUYW1aNDRST2RKcmVCbjM2UUJFRUVheGZSOHVFc1FrZjR2T2JsWTZSQThuY0RmWUV0NnpPZzlLRTVSZGlZd3BaUDQwTGlcL2hwXC9tNDduNjBwOEQ1NFdLODR6VjJzeFhzN0x0a0JvTjc5UjlRSWhBUFwvXC9cL1wvOEFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC8rODV2cXRweGVlaFBPNXlzTDhZeVZSQWdFQkEwSUFCQmJHK2xtTHJIWWtKSVwvSUUwcTU3dEN0bE5jK2pBWHNudVMrSnFlOFVcLzc0cSs5NVRnbzVFRjBZNks3b01LTUt5cTMwY3VQbmtIenkwMjVpU1BGdWczRT0iLCJwdWJsaWNLZXlIYXNoIjoieCtQbUhHMzdUNjdBWUFIenVqbGJyaW1JdzZZaFlYaVpjYjV3WnJCNGpRdz0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBMG9MXC9KSWFTN0tra1RFNG1pOGRmU2tQVVwvdlp2cVwva2NYZ1pUdGJZbENtTFM4YzNuS2VZNVE0c2s4MXJnZkI1ampBMWJRZldhUHBKc05tVWNSS3gzS0FGUEtpNzE0WWVYdGUrcmc2V1k4MnVxcnlwRERiTkhqSWVpNjVqV0dvcGRZUEx6TEk5c1Z3NDh5OHlqSXY3SjFaQVlycnp6YjBwNzUzcUJUQ0ZEN1p3PT0ifQ== processingInformation: paymentSolution: '001' example2: summary: Setup Completion with Tokenized Card value: paymentInformation: tokenizedCard: number: '4111111111111111' transactionType: '1' type: '001' expirationMonth: '11' expirationYear: '2025' example3: summary: Setup Completion with TMS Token value: paymentInformation: customer: customerId: 21607EACE092FD29E063A2598D0A01B8 example4: summary: Setup Completion with Visa Checkout value: paymentInformation: visaCheckoutId: '4768462067836455354' paymentSolution: visacheckout example5: summary: Setup Completion with Flex Transient Token value: tokenInformation: jti: 1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056 /risk/v1/authentications: post: summary: Check Payer Auth Enrollment description: This call verifies that the card is enrolled in a card authentication program. operationId: checkPayerAuthEnrollment tags: - Payer Authentication produces: - application/hal+json;charset=utf-8 x-devcenter-metaData: categoryTag: Payer_Authentication developerGuides: https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html isMLEsupported: true mleForRequest: optional parameters: - name: checkPayerAuthEnrollmentRequest in: body required: true schema: type: object properties: clientReferenceInformation: type: object properties: code: type: string maxLength: 59 description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each 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. ' pausedRequestId: type: string maxLength: 26 description: 'Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' partner: type: object properties: developerId: type: string maxLength: 8 description: 'Identifier for the developer that helped integrate a partner solution to CyberSource. Send this value in all requests that are sent through the partner solutions built by that developer. CyberSource assigns the ID to the developer. **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect. ' 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. ' orderInformation: type: object properties: amountDetails: type: object description: Contains `currency` and `totalAmount` for this order. required: - currency - totalAmount properties: currency: type: string maxLength: 3 description: 'Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### 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. ' totalAmount: type: string maxLength: 19 description: "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" preOrder: type: string description: 'Indicates whether cardholder is placing an order with a future availability or release date. This field can contain one of these values: - MERCHANDISE_AVAILABLE: Merchandise available - FUTURE_AVAILABILITY: Future availability ' preOrderDate: type: string maxLength: 10 description: 'Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD ' reordered: type: boolean description: 'Indicates whether the cardholder is reordering previously purchased merchandise. This field can contain one of these values: - false: First time ordered - true: Reordered ' shipTo: type: object properties: 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. ' address3: type: string maxLength: 60 description: 'Third line of the shipping address. #### 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 shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" country: type: string description: 'Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) 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 destinationTypes: type: string maxLength: 25 description: 'Shipping destination of item. Example: Commercial, Residential, Store ' 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. ' 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. ' middleName: type: string maxLength: 60 description: 'Middle name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field. ' phoneNumber: type: string maxLength: 15 description: Phone number associated with the shipping address. postalCode: type: string maxLength: 32 description: 'Postal code for the shipping address. The postal code must consist of 5 to 9 digits. 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. ' destinationCode: type: integer maxLength: 2 description: 'Indicates destination chosen for the transaction. Possible values: - 01- Ship to cardholder billing address - 02- Ship to another verified address on file with merchant - 03- Ship to address that is different than billing address - 04- Ship to store (store address should be populated on request) - 05- Digital goods - 06- Travel and event tickets, not shipped - 07- Other ' method: type: string maxLength: 10 description: 'Shipping method for the product. Possible values: - lowcost: Lowest-cost service - sameday: Courier or same-day service - oneday: Next-day or overnight service - twoday: Two-day service - threeday: Three-day service - pickup: Store pick-up - other: Other shipping method - none: No shipping method because product is a service or subscription Required for American Express SafeKey (U.S.). ' email: type: string maxLength: 255 description: 'Email of the recipient. ' company: type: string maxLength: 60 description: 'Name of the customer''s company. ' lineItems: type: array description: This array contains detailed information about individual products in the order. items: type: object required: - unitPrice properties: totalAmount: type: string maxLength: 13 description: 'Total amount for the item. Normally calculated as the unit price times quantity. When `orderInformation.lineItems[].productCode` is "gift_card", this is the purchase amount total for prepaid gift cards in major units. Example: 123.45 USD = 123 ' unitPrice: type: string maxLength: 15 description: 'Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If 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. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15) ' quantity: type: integer minimum: 1 maximum: 999999999 default: 1 description: 'Number of units for this order. Must be a non-negative integer. The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. ' giftCardCurrency: type: integer maxLength: 3 description: 'When `orderInformation.lineItems[].productCode` is "gift_card", this is the currency used for the gift card purchase. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) ' productSKU: type: string maxLength: 255 description: 'Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling. ' productDescription: type: string description: Brief description of item. productName: type: string maxLength: 255 description: 'For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. ' passenger: type: object description: Contains travel-related passenger details used by DM service only. properties: type: type: string maxLength: 32 description: 'Passenger classification associated with the price of the ticket. You can use one of the following values: - `ADT`: Adult - `CNN`: Child - `INF`: Infant - `YTH`: Youth - `STU`: Student - `SCR`: Senior Citizen - `MIL`: Military ' status: type: string maxLength: 32 description: 'Your company''s passenger classification, such as with a frequent flyer program. In this case, you might use values such as `standard`, `gold`, or `platinum`. ' phone: type: string maxLength: 15 description: 'Passenger''s phone number. If the order is from outside the U.S., CyberSource recommends that you include the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf). ' firstName: type: string maxLength: 60 description: Passenger's first name. lastName: type: string maxLength: 60 description: Passenger's last name. id: type: string maxLength: 40 description: 'ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer number. ' email: type: string maxLength: 255 description: Passenger's email address, including the full domain name, such as jdoe@example.com. nationality: type: string maxLength: 2 description: Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf). shippingDestinationTypes: type: string maxLength: 50 description: 'Destination to where the item will be shipped. Example: Commercial, Residential, Store ' taxAmount: type: string maxLength: 15 description: "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" shippingAddress1: type: string maxLength: 50 description: Address where item will be shipped shippingAddress2: type: string maxLength: 50 description: Address where item will be shipped shippingCity: type: string maxLength: 20 description: City where item will be shipped shippingCountryCode: type: string maxLength: 10 description: Country where item will be shipped shippingFirstName: type: string maxLength: 20 description: Customer's first name shippingLastName: type: string maxLength: 20 description: Customer's last name shippingMiddleName: type: string maxLength: 20 description: Customer's middle name shippingPhone: type: integer description: Phone number where item will be shipped shippingPostalCode: type: integer description: Postal code where item will be shipped shippingState: type: string maxLength: 20 description: State where item will be shipped billTo: type: object required: - address1 - country - administrativeArea - postalCode - email - firstName - lastName properties: address1: type: string maxLength: 60 description: 'Payment card billing street address as it appears on the credit card issuer''s records. #### 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) ' address3: type: string maxLength: 60 description: 'Additional address information (third line of the billing address) ' 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. ' 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. ' 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. ' 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. ' 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. ' 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. ' postalCode: type: string maxLength: 10 description: "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" totalOffersCount: type: string maxLength: 2 description: 'Total number of articles/items in the order as a numeric decimal count. Possible values: 00 - 99 ' paymentInformation: type: object properties: card: type: object required: - expirationMonth - expirationYear - number 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 ' 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. ' number: type: string maxLength: 20 description: 'The customer''s payment card number, also known as the Primary Account Number (PAN). You can also use this field for encoded account numbers. #### FDMS Nashville Required. String (19) #### GPX 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. #### 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. ' tokenizedCard: type: object required: - type - expirationMonth - expirationYear - number - transactionType - cryptogram - securityCode properties: transactionType: type: string maxLength: 1 description: 'Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer''s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. #### Visa Platform Connect - `1`: For Rupay and In App tokenization. Example: InApp apple pay. - `3`: Card/Credential On File Tokenization. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used. #### Rupay - `3`: Card/Credential On File Tokenization. - `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token. ' 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 ' expirationMonth: type: string maxLength: 2 description: 'One of two possible meanings: - The two-digit month in which a token expires. - The two-digit month in which a card expires. Format: `MM` Possible values: `01` through `12` **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### 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 (`card_type=039`), if there is no expiration date on the card, use `12`.\ **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Samsung Pay and Apple Pay Month in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. ' expirationYear: type: string maxLength: 4 description: 'One of two possible meanings: - The four-digit year in which a token expires. - The four-digit year in which a card expires. Format: `YYYY` Possible values: `1900` through `3000` Data type: Non-negative integer **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### 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 (`card_ type=039`), if there is no expiration date on the card, use `2021`. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of the year. #### Samsung Pay and Apple Pay Year in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. ' cryptogram: type: string maxLength: 255 description: This field contains token information. securityCode: type: string maxLength: 4 description: 'Card Verification Number (CVN). #### Ingenico ePayments Do not include this field when **commerceIndicator=recurring**. **Note** Ingenico ePayments was previously called _Global Collect_. ' number: type: string maxLength: 20 description: 'Customer''s payment network token value. ' fluidData: type: object required: - value properties: value: type: string maxLength: 4000 description: 'Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant. Used by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method. Card Present processing This field represents the encrypted payment data generated by the payment terminal/device. ' keySerialNumber: type: string description: 'The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html) ' 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` ' encoding: type: string maxLength: 6 description: 'Encoding method used to encrypt the payment data. Valid values: `Base64`, `HEX` If no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding ' customer: type: object required: - customerId properties: customerId: type: string description: 'Unique identifier for the legacy Secure Storage token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional. ' minLength: 1 maxLength: 32 id: type: string description: 'Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional. ' minLength: 1 maxLength: 32 processingInformation: type: object properties: paymentSolution: type: string maxLength: 12 description: "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" visaCheckoutId: type: string maxLength: 48 description: 'Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in the Visa Checkout **callID** field. ' tokenInformation: type: object properties: transientToken: type: string description: 'A temporary ID that represents the customer''s payment data (which is securely stored in Visa Data Centers). Flex Microform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the first payment authorization is carried out (whichever occurs first). Valid value for the ID is a 64-character, alphanumeric string. Example: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53 ' jti: type: string maxLength: 64 description: 'TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV). ' buyerInformation: type: object required: - mobilePhone 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. ' personalIdentification: type: array items: type: object properties: type: type: string description: "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" id: type: string maxLength: 26 description: "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" issuedBy: type: string description: 'The government agency that issued the driver''s license or passport. If **type**` = DRIVER_LICENSE`, this is the State or province where the customer''s driver''s license was issued. If **type**` = PASSPORT`, this is the Issuing country for the cardholder''s passport. Recommended for Discover ProtectBuy. Use the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf). #### TeleCheck Contact your TeleCheck representative to find out whether this field is required or optional. #### All Other Processors Not used. ' verificationResults: type: string description: 'Verification results received from Issuer or Card Network for verification transactions. Response Only Field. ' description: This array contains detailed information about the buyer's form of persoanl identification. mobilePhone: type: integer maxLength: 25 description: 'Cardholder''s mobile phone number. **Important** Required for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions. ' workPhone: type: integer maxLength: 25 description: Cardholder's work phone number. deviceInformation: type: object required: - userAgentBrowserValue - httpBrowserTimeDifference - httpBrowserScreenWidth - httpBrowserScreenHeight - httpBrowserLanguage - httpBrowserJavaEnabled - httpAcceptContent - httpBrowserColorDepth properties: ipAddress: type: string maxLength: 45 description: 'IP address of the customer. #### Used by **Authorization, Capture, and Credit** Optional field. ' rawData: type: array items: type: object properties: data: type: string description: 'Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded. ' provider: type: string maxLength: 32 description: 'Possible values: - cardinal - inauth - threatmetrix ' httpAcceptBrowserValue: type: string maxLength: 255 description: 'Value of the Accept header sent by the customer''s web browser. **Note** If the customer''s browser provides a value, you must include it in your request. ' httpAcceptContent: type: string maxLength: 256 description: 'The exact content of the HTTP accept header. ' httpBrowserLanguage: type: string maxLength: 8 description: 'Value represents the browser language as defined in IETF BCP47. Example:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details. ' httpBrowserJavaEnabled: type: boolean description: 'A Boolean value that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property. Possible Values:True/False ' httpBrowserJavaScriptEnabled: type: boolean description: 'A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False. **Note**: Merchants should be able to know the values from fingerprint details of cardholder''s browser. ' httpBrowserColorDepth: type: string maxLength: 2 description: 'Value represents the bit depth of the color palette for displaying images, in bits per pixel. Example : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details ' httpBrowserScreenHeight: type: string maxLength: 6 description: 'Total height of the Cardholder''s scree in pixels, example: 864. ' httpBrowserScreenWidth: type: string maxLength: 6 description: 'Total width of the cardholder''s screen in pixels. Example: 1536. ' httpBrowserTimeDifference: type: string maxLength: 5 description: 'Time difference between UTC time and the cardholder browser local time, in minutes, Example:300 ' userAgentBrowserValue: type: string maxLength: 255 description: 'Value of the User-Agent header sent by the customer''s web browser. Note If the customer''s browser provides a value, you must include it in your request. ' 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. ' url: type: string maxLength: 255 description: 'Address of company''s website provided by merchant ' merchantName: type: string maxLength: 25 description: 'Your company''s name as you want it to appear to the customer in the issuing bank''s authentication form. This value overrides the value specified by your merchant bank. ' acquirerInformation: type: object properties: acquirerBin: type: string maxLength: 11 description: 'Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard. ' country: type: string maxLength: 2 description: 'Issuers need to be aware of the Acquirer''s Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area). ' password: type: string maxLength: 8 description: 'Registered password for the Visa directory server. ' merchantId: type: string maxLength: 15 description: 'Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters. ' recurringPaymentInformation: type: object description: This object contains recurring payment information. required: - frequency - endDate properties: endDate: type: string maxLength: 10 description: 'The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD` **Note** This field is required for recurring transactions. ' frequency: type: integer maxLength: 4 description: 'Integer value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168 Example values accepted (31 days): - 31 - 031 - 0031 **Note** This field is required for recurring transactions. ' numberOfPayments: type: integer maxLength: 3 description: 'Total number of payments for the duration of the recurring subscription. ' originalPurchaseDate: type: string maxLength: 17 description: 'Date of original purchase. Required for recurring transactions. Format: `YYYY-MM-DDTHH:MM:SSZ` **Note**: If this field is empty, the current date is used. ' sequenceNumber: type: integer maxLength: 3 description: "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" type: type: string maxLength: 1 description: 'This contains the type of recurring payment. Valid Values : 1 - Registration/First transaction 2 - Subsequent transaction 3 - Modification 4 - Cancellation ' occurrence: type: string maxLength: 2 description: 'This value indicates how often a recurring payment occurs. Valid Values : • 01 (Daily) • 02 (Twice weekly) • 03 (Weekly) • 04 (Ten days) • 05 (Fortnightly) • 06 (Monthly) • 07 (Every two months) • 08 (Trimester) • 09 (Quarterly) • 10 (Twice yearly) • 11 (Annually) • 12 (Unscheduled) ' validationIndicator: type: string maxLength: 1 description: 'This tag will contain a value that indicates whether or not the recurring payment transaction has been validated. Valid values : 0- Not validated 1- Validated ' 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 ' maximumAmount: type: string maxLength: 12 description: 'This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount will be specified in Field 49—Currency Code,Transaction. ' referenceNumber: type: string maxLength: 35 description: 'This will contain a unique reference number for the recurring payment transaction. ' consumerAuthenticationInformation: type: object required: - deviceChannel properties: strongAuthentication: type: object properties: authenticationIndicator: type: string maxLength: 2 description: 'Indicates the type of Authentication request 01 - Payment transaction 02 - Recurring transaction 03 - Installment transaction 04 - Add card 05 - Maintain card 06 - Cardholder verification as part of EMV token ID and V ' acsWindowSize: type: string maxLength: 2 description: 'An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window. 01 - 250x400 02 - 390x400 03 - 500x600 04 - 600x400 05 - Full page ' alternateAuthenticationData: type: string maxLength: 2048 description: 'Data that documents and supports a specific authentication process. ' alternateAuthenticationDate: type: string maxLength: 14 description: 'Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM ' alternateAuthenticationMethod: type: string description: 'Mechanism used by the cardholder to authenticate to the 3D Secure requestor. Possible values: - `01`: No authentication occurred - `02`: Login using merchant system credentials - `03`: Login using Federated ID - `04`: Login using issuer credentials - `05`: Login using third-party authenticator - `06`: Login using FIDO Authenticator ' authenticationDate: type: string maxLength: 14 description: 'The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request payload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be provided by merchant in authorization request if calling an external 3DS provider. This field is supported for Cartes Bancaires Fast''R transactions on Credit Mutuel-CIC. Format: YYYYMMDDHHMMSS ' authenticationTransactionId: type: string maxLength: 26 description: 'Payer authentication transaction identifier passed to link the check enrollment and validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase. **Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service. Required for Hybrid integration for validate service. ' transactionFlowIndicator: type: integer maxLength: 2 description: 'This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values. 01:NW- Transaction performed at domestic merchant. 02:TW- Transaction performed at domestic merchant along with Token provisioning. 03:IT- Transaction performed at International merchant. 04:AT- Authentication Transaction Only. 05:AW- Authentication transaction for provisioning. 06:DI- Domestic InApp Transaction. 07:II- International InApp transaction. 08:GC- Guest Checkout 09:ST- SI Authentication Transaction only 10:SW- SI Authorization along with token provisioning ' challengeCode: type: string description: 'Possible values: - `01`: No preference - `02`: No challenge request - `03`: Challenge requested (3D Secure requestor preference) - `04`: Challenge requested (mandate) - `05`: No challenge requested (transactional risk analysis is already performed) - `06`: No challenge requested (Data share only) - `07`: No challenge requested (strong consumer authentication is already performed) - `08`: No challenge requested (utilize whitelist exemption if no challenge required) - `09`: Challenge requested (whitelist prompt requested if challenge required) **Note** This field will default to `01` on merchant configuration and can be overridden by the merchant. EMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`. ' challengeStatus: type: string maxLength: 2 description: 'The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder at checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to the issuer the alternative authentication methods that the consumer used. ' customerCardAlias: type: string maxLength: 128 description: 'An alias that uniquely identifies the customer''s account and credit card on file. Note This field is required if Tokenization is enabled in the merchant profile settings. ' decoupledAuthenticationIndicator: type: string maxLength: 1 description: 'Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use. Possible Values: Y - Decoupled Authentication is supported and preferred if challenge is necessary N - Do not use Decoupled Authentication **Default Value**: N ' decoupledAuthenticationMaxTime: type: string maxLength: 5 description: 'Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes). Possible Values: Numeric values between 1 and 10080 accepted. ' defaultCard: type: boolean description: 'Indicates that the card being used is the one designated as the primary payment card for purchase. Recommended for Discover ProtectBuy. ' deviceChannel: type: string maxLength: 10 description: 'Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated. ' installmentTotalCount: type: integer maxLength: 4 description: 'An integer value greater than 1 indicating the max number of permitted authorizations for installment payments. **Note** This is required if the merchant and cardholder have agreed to installment payments. ' merchantFraudRate: type: string maxLength: 2 description: 'Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes). Possible Values: 1 = Represents fraud rate <=1 2 = Represents fraud rate >1 and <=6 3 = Represents fraud rate >6 and <=13 4 = Represents fraud rate >13 and <=25 5 = Represents fraud rate >25 EEA** = European Economic Area RTS** = Regulatory Technical Standards PSD2** = Payment Services Directive ' marketingOptIn: type: boolean description: 'Indicates whether the customer has opted in for marketing offers. Recommended for Discover ProtectBuy. ' marketingSource: type: string maxLength: 40 description: 'Indicates origin of the marketing offer. Recommended for Discover ProtectBuy. ' mcc: type: string maxLength: 4 description: 'Merchant category code. **Important** Required only for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions. ' merchantScore: type: integer maxLength: 2 description: 'Risk Score provided by merchants. This is specific for CB transactions. ' messageCategory: type: string description: 'Category of the message for a specific use case. Possible values: - `01`: PA- payment authentication - `02`: NPA- non-payment authentication - `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) - `80-99`: Reserved for DS use ' npaCode: type: string maxLength: 2 description: 'Non-Payer Authentication Indicator. Possible values: - `01`: Add card - `02`: Maintain card information - `03`: Cardholder verification for EMV token - `04-80` Reserved for EMVCo - `80-90` Reserved DS ' overridePaymentMethod: type: string description: 'Specifies the Brazilian payment account type used for the transaction. This field overrides other payment types that might be specified in the request. Use one of the following values for this field: - `NA`: Not applicable. Do not override other payment types that are specified in the request. - `CR`: Credit card. - `DB`: Debit card. - `VSAVR`: Visa Vale Refeicao - `VSAVA`: Visa Vale Alimentacao **Important** Required only for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions. ' overrideCountryCode: type: string maxLength: 2 description: 'Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).. ' priorAuthenticationData: type: string maxLength: 2048 description: 'This field carry data that the ACS can use to verify the authentication process. ' priorAuthenticationMethod: type: string maxLength: 2 description: 'Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. 01 - Frictionless authentication occurred by ACS 02 - Cardholder challenge occurred by ACS 03 - AVS verified 04 - Other issuer methods 05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo) 80-99 - Reserved for DS use ' priorAuthenticationReferenceId: type: string maxLength: 36 description: 'This data element contains a ACS Transaction ID for a prior authenticated transaction. For example, the first recurring transaction that was authenticated with the cardholder ' priorAuthenticationTime: type: string maxLength: 12 description: 'Date and time in UTC of the prior cardholder authentication. Format – YYYYMMDDHHMM ' productCode: type: string maxLength: 3 description: 'Specifies the product code, which designates the type of transaction. Specify one of the following values for this field: - AIR: Airline purchase Important Required for American Express SafeKey (U.S.). - `ACC`: Accommodation Rental - `ACF`: Account funding - `CHA`: Check acceptance - `DIG`: Digital Goods - `DSP`: Cash Dispensing - `GAS`: Fuel - `GEN`: General Retail - `LUX`: Luxury Retail - `PAL`: Prepaid activation and load - `PHY`: Goods or services purchase - `QCT`: Quasi-cash transaction - `REN`: Car Rental - `RES`: Restaurant - `SVC`: Services - `TBD`: Other - `TRA`: Travel **Important** Required for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions. ' returnUrl: type: string maxLength: 2048 description: 'The URL of the merchant''s return page. CyberSource adds this return URL to the step-up JWT and returns it in the response of the Payer Authentication enrollment call. The merchant''s return URL page serves as a listening URL. Once the bank session completes, the merchant receives a POST to their URL. This response contains the completed bank session''s transactionId. The merchant''s return page should capture the transaction ID and send it in the Payer Authentication validation call. ' requestorId: type: string maxLength: 35 description: Cardinal's directory server assigned 3DS Requestor ID value requestorInitiatedAuthenticationIndicator: type: string maxLength: 2 description: 'Indicates the type of 3RI request. Possible Values: 01 - Recurring transaction 02 - Installment transaction 03 - Add card 04 - Maintain card 05 - Account verification 06 - Split/delayed shipment 07 - Top-up 08 - Mail Order 09 - Telephone Order 10 - Whitelist status check 11 - Other payment ' requestorName: type: string maxLength: 40 description: Cardinal's directory server assigned 3DS Requestor Name value referenceId: type: string maxLength: 50 description: 'Reference ID that corresponds to the device fingerprinting data that was collected previously. Note Required for Hybrid integration. ' sdkMaxTimeout: type: string maxLength: 2 description: 'This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes). Possible Values: Greater than or equal to 05 (05 is the minimum timeout to set) Cardinal Default is set to 15 NOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed ' secureCorporatePaymentIndicator: type: string maxLength: 1 description: 'Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies. Possible Values : 0/1 ' transactionMode: type: string description: 'Transaction mode identifier. Identifies the channel from which the transaction originates. Possible values: - `M`: MOTO (Mail Order Telephone Order) - `R`: Retail - `S`: eCommerce - `P`: Mobile Device - `T`: Tablet ' whiteListStatus: type: string maxLength: 1 description: 'Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor. Possible Values: Y - 3DS Requestor is whitelisted by cardholder N - 3DS Requestor is not whitelisted by cardholder ' scoreRequest: type: integer description: Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score riskInformation: type: object properties: buyerHistory: type: object properties: customerAccount: type: object properties: lastChangeDate: type: string maxLength: 10 description: 'Date the cardholder''s account was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added. Recommended for Discover ProtectBuy. ' creationHistory: type: string description: 'The values from the enum can be: - GUEST - NEW_ACCOUNT - EXISTING_ACCOUNT ' modificationHistory: type: string description: 'This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values: - ACCOUNT_UPDATED_NOW - ACCOUNT_UPDATED_PAST ' passwordHistory: type: string description: 'This only applies for EXISTING_ACCOUNT in creationHistory. The values from the enum can be: - PASSWORD_CHANGED_NOW - PASSWORD_CHANGED_PAST - PASSWORD_NEVER_CHANGED ' createDate: type: string maxLength: 10 description: 'Date the cardholder opened the account. Recommended for Discover ProtectBuy. This only applies for EXISTING_ACCOUNT in creationHistory. ' passwordChangeDate: type: string maxLength: 10 description: 'Date the cardholder last changed or reset password on account. Recommended for Discover ProtectBuy. This only applies for PASSWORD_CHANGED_PAST in passwordHistory. ' accountHistory: type: object properties: firstUseOfShippingAddress: type: boolean description: 'Applicable when this is not a guest account. ' shippingAddressUsageDate: type: string maxLength: 10 description: 'Date when the shipping address for this transaction was first used. Recommended for Discover ProtectBuy. If `firstUseOfShippingAddress` is false and not a guest account, then this date is entered. ' accountPurchases: type: integer maxLength: 4 description: 'Number of purchases with this cardholder account during the previous six months. Recommended for Discover ProtectBuy. ' addCardAttempts: type: integer maxLength: 3 description: 'Number of add card attempts in the last 24 hours. Recommended for Discover ProtectBuy. ' priorSuspiciousActivity: type: boolean description: 'Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account. Recommended for Discover ProtectBuy. ' paymentAccountHistory: type: string description: 'This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are: - PAYMENT_ACCOUNT_EXISTS - PAYMENT_ACCOUNT_ADDED_NOW ' paymentAccountDate: type: integer maxLength: 8 description: 'Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory ' transactionCountDay: type: integer maxLength: 3 description: 'Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours. Recommended for Discover ProtectBuy. ' transactionCountYear: type: integer maxLength: 3 description: 'Number of transaction (successful or abandoned) for this cardholder account within the last year. Recommended for Discover ProtectBuy. ' travelInformation: type: object properties: legs: type: array items: type: object properties: origination: type: string maxLength: 3 description: 'Use to specify the airport code for the origin of the leg of the trip, which is designated by the pound (#) symbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the colon (:) or the dash (-). For airport codes, see the IATA Airline and Airport Code Search. The leg number can be a positive integer from 0 to N. For example: `travelInformation.legs.0.origination=SFO` `travelInformation.legs.1.origination=SFO` **Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you send all the fields, the complete route takes precedence over the individual legs. For details, see the `decision_manager_travel_leg#_orig` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link). ' destination: type: string maxLength: 3 description: 'Use to specify the airport code for the destination of the leg of the trip, which is designated by the pound (#) symbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the colon (:) or the dash (-). For airport codes, see [IATA Airline and Airport Code Search](https://www.iata.org/publications/Pages/code-search.aspx). The leg number can be a positive integer from 0 to N. For example: `travelInformation.legs.0.destination=SFO` `travelInformation.legs.1.destination=SFO` **Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you send all the fields, the complete route takes precedence over the individual legs. For details, see the `decision_manager_travel_leg#_dest` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link). ' carrierCode: type: string maxLength: 2 description: 'International Air Transport Association (IATA) code for the carrier for this leg of the trip. Required for each leg. Required for American Express SafeKey (U.S.) for travel-related requests. ' departureDate: type: string description: 'Departure date for the first leg of the trip. Format: YYYYMMDD. Required for American Express SafeKey (U.S.) for travel-related requests. ' departureTime: type: integer maxLength: 4 description: 'Time of departure for this leg of the trip. The format is military time and HHMM: If not all zeros, then the hours must be `00-23` and the minutes must be `00-59`. Format: English characters only. Optional request field for travel legs. ' numberOfPassengers: type: integer maxLength: 3 description: 'Number of passengers for whom the ticket was issued. If you do not include this field in your request, CyberSource uses a default value of 1. Required for American Express SafeKey (U.S.) for travel-related requests. ' passengers: type: array items: type: object properties: firstName: type: string maxLength: 60 description: 'First name of the passenger to whom the ticket was issued. If there are multiple passengers, include all listed on the ticket. Do not include special characters such as commas, hyphens, or apostrophes. Only ASCII characters are supported. Required for American Express SafeKey (U.S.) for travel-related requests. ' lastName: type: string maxLength: 60 description: 'Last name of the passenger to whom the ticket was issued. If there are multiple passengers, include all listed on the ticket. Do not include special characters such as commas, hyphens, or apostrophes. Only ASCII characters are supported. Required for American Express SafeKey (U.S.) for travel-related requests. ' merchantDefinedInformation: type: array items: type: object description: Contains merchant-defined key-value pairs. properties: key: type: string maxLength: 255 description: 'Fields that you can use to store information. The value appears in the Case Management Details window in the Business Center. The first four fields are the same fields that are used by the Secure Data services. See request code examples. **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 limited to, address, credit card number, social security number, driver''s license number, state-issued identification number, passport number, and card verification numbers (CVV, CVC2, 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. ' value: type: string maxLength: 255 description: String value for the key responses: '201': description: Successful response schema: title: riskV1AuthenticationsPost201Response type: object properties: _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.' 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. ' 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 for payerAuthentication 201 enroll and validate calls. Possible values are: - `AUTHENTICATION_SUCCESSFUL` - `PENDING_AUTHENTICATION` - `AUTHENTICATION_FAILED` ' message: type: string description: 'The message describing the reason of the status. Value is: - The cardholder is enrolled in Payer Authentication. Please authenticate the cardholder before continuing with the transaction. ' 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. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' partner: type: object properties: developerId: type: string maxLength: 8 description: 'Identifier for the developer that helped integrate a partner solution to CyberSource. Send this value in all requests that are sent through the partner solutions built by that developer. CyberSource assigns the ID to the developer. **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect. ' 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. ' orderInformation: type: object properties: amountDetails: type: object properties: currency: type: string maxLength: 3 description: 'Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### 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. ' consumerAuthenticationInformation: type: object properties: accessToken: type: string description: 'JSON Web Token (JWT) used to authenticate the consumer with the authentication provider, such as, CardinalCommerce or Rupay. Note - Max Length of this field is 2048 characters. ' acsRenderingType: type: string description: 'Identifies the UI Type the ACS will use to complete the challenge. **NOTE**: Only available for App transactions using the Cardinal Mobile SDK. ' acsTransactionId: type: string maxLength: 36 description: 'Unique transaction identifier assigned by the ACS to identify a single transaction. ' acsUrl: type: string maxLength: 2048 description: 'URL for the card-issuing bank''s authentication form that you receive when the card is enrolled. The value can be very large. ' authenticationPath: type: string description: 'Indicates what displays to the customer during the authentication process. This field can contain one of these values: - `ADS`: (Card not enrolled) customer prompted to activate the card during the checkout process. - `ATTEMPTS`: (Attempts processing) Processing briefly displays before the checkout process is completed. - `ENROLLED`: (Card enrolled) the card issuer''s authentication window displays. - `UNKNOWN`: Card enrollment status cannot be determined. - `NOREDIRECT`: (Card not enrolled, authentication unavailable, or error occurred) nothing displays to the customer. The following values can be returned if you are using rules-based payer authentication. - `RIBA`: The card-issuing bank supports risk-based authentication, but whether the cardholder is likely to be challenged cannot be determined. - `RIBA_PASS`: The card-issuing bank supports risk-based authentication and it is likely that the cardholder will not be challenged to provide credentials, also known as _silent authentication_. ' authorizationPayload: type: string description: 'The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow ' authenticationType: type: string maxLength: 2 description: 'Indicates the type of authentication that will be used to challenge the card holder. Possible Values: 01 - Static 02 - Dynamic 03 - OOB (Out of Band) 04 - Decoupled 20 - OTP hosted at merchant end. (Rupay S2S flow) **NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time. ' authenticationTransactionId: type: string maxLength: 26 description: 'Payer authentication transaction identifier is used to link the check enrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case. ' authenticationTransactionContextId: type: string maxLength: 30 description: 'Payer authentication transaction identifier passed to link the validation and authorization calls. ' validityPeriod: type: integer maxLength: 2 description: 'Describes validity of OTP in minutes for incoming transaction. . ' cardholderMessage: type: string maxLength: 128 description: 'Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction.The Issuer can provide information to Cardholder. For example, "Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.". The Issuing Bank can optionally support this value. ' cavv: type: string maxLength: 255 description: 'Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and Discover transactions after the customer is authenticated. The value is in base64. When you request the card authorization service, CyberSource automatically converts the value, not the field name, to the format required by your payment processor. ' cavvAlgorithm: type: string maxLength: 1 description: 'Field that is returned only when the CAVV is generated, which occurs when paresStatus contains the values Y (successful authentication) or A (attempted authentication). If you use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the authorization service. This field contains one of these values: - `2`: Visa, American Express, JCB, Diners Club, and Discover - `3`: Mastercard ' challengeCancelCode: type: string maxLength: 2 description: 'An indicator as to why the transaction was canceled. Possible Values: - `01`: Cardholder selected Cancel. - `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo). - `03`: Transaction Timed Out—Decoupled Authentication - `04`: Transaction timed out at ACS—other timeouts - `05`: Transaction Timed out at ACS - First CReq not received by ACS - `06`: Transaction Error - `07`: Unknown - `08`: Transaction Timed Out at SDK ' challengeRequired: type: string maxLength: 1 description: 'Indicates whether a challenge is required in order to complete authentication. **Note** Regional mandates might determine that a challenge is required. Possible values: - `Y`: Challenge required - `N`: Challenge not required **Note** Used by the Hybrid integration. ' decoupledAuthenticationIndicator: type: string maxLength: 1 description: 'Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use. Possible Values: Y - Decoupled Authentication is supported and preferred if challenge is necessary N - Do not use Decoupled Authentication **Default Value**: N ' directoryServerErrorCode: type: string description: 'The directory server error code indicating a problem with this transaction. Note - Max Length of this field is typically 3 characters. ' directoryServerErrorDescription: type: string maxLength: 4096 description: 'Directory server text and additional detail about the error for this transaction. ' ecommerceIndicator: type: string maxLength: 255 description: 'Commerce indicator for cards not enrolled. This field contains one of these values: - `internet`: Card not enrolled, or card type not supported by payer authentication. No liability shift. - `js_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift. - `js_failure`: J/Secure directory service is not available. No liability shift. - `spa`: Mastercard card not enrolled in the SecureCode program. No liability shift. - `vbv_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift. - `vbv_failure`: For payment processor Barclays, Streamline, AIBMS, or FDC Germany, you receive this result if Visa''s directory service is not available. No liability shift. ' eci: type: string description: 'Note This field applies only to non-U.S-issued cards. For enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB, Diners Club, and Discover transactions when the card is not enrolled. For more information, see "Interpreting the Reply," page 22. If you are not using the CyberSource payment services, you must send this value to your payment processor in the subsequent request for card authorization. This field contains one of these values: - `06`: The card can be enrolled. Liability shift. - `07`: The card cannot be enrolled. No liability shift. For validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB, Diners Club, and Discover transactions. The field is absent when authentication fails. You must send this value to your payment processor in the subsequent request for card authorization. This field contains one of these values: - `05`: Successful authentication - `06`: Authentication attempted - `07`: Failed authentication (No response from the merchant because of a problem.) ' eciRaw: type: string description: 'ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover. The field is absent when authentication fails. If your payment processor is Streamline, you must pass the value of this field instead of the value of `eci` or `ucafCollectionIndicator`. This field can contain one of these values: - `01`: Authentication attempted (Mastercard) - `02`: Successful authentication (Mastercard) - `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover) - `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover) ' effectiveAuthenticationType: type: string maxLength: 2 description: 'This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows; CH - Challenge FR - Frictionless FD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer). ' exemptionDataRaw: type: string maxLength: 4 description: "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value returned in this field should be passed in the authorization request under the field -\n`consumerAuthenticationInformation.strongAuthentication.issuerInformation.exemptionDataRaw`.\n" ivr: type: object properties: enabledMessage: type: boolean description: 'Flag to indicate if a valid IVR transaction was detected. ' encryptionKey: type: string maxLength: 16 description: 'Encryption key to be used in the event the ACS requires encryption of the credential field. ' encryptionMandatory: type: boolean description: 'Flag to indicate if the ACS requires the credential to be encrypted. ' encryptionType: type: string maxLength: 20 description: 'An indicator from the ACS to inform the type of encryption that should be used in the event the ACS requires encryption of the credential field. ' label: type: string maxLength: 20 description: 'An ACS Provided label that can be presented to the Consumer. Recommended use with an application. ' prompt: type: string maxLength: 80 description: 'An ACS provided string that can be presented to the Consumer. Recommended use with an application. ' statusMessage: type: string maxLength: 80 description: 'An ACS provided message that can provide additional information or details. ' networkScore: type: string maxLength: 2 description: 'The global score calculated by the CB scoring platform and returned to merchants. ' pareq: type: string description: 'Payer authentication request (PAReq) message that you need to forward to the ACS. The value can be very large. The value is in base64. ' paresStatus: type: string description: 'Raw result of the authentication check. If you are configured for Asia, Middle East, and Africa Gateway Processing, you need to send the value of this field in your authorization request. This field can contain one of these values: - `A`: Proof of authentication attempt was generated. - `N`: Customer failed or canceled authentication. Transaction denied. - `U`: Authentication not completed regardless of the reason. - `Y`: Customer was successfully authenticated. ' proofXml: type: string description: "Date and time of the enrollment check combined with the VEReq and VERes elements. If you ever need\nto show proof of enrollment checking, you may need to parse the string for the information required by the\npayment card company. The value can be very large. \nFor cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.For cards not issued in the U.S. or Canada, your bank may require this data as proof of enrollment\nchecking for any payer authentication transaction that you re-present because of a chargeback.\n" proxyPan: type: string description: 'Encrypted version of the card number used in the payer authentication request message. ' sdkTransactionId: type: string maxLength: 36 description: 'SDK unique transaction identifier that is generated on each new transaction. ' signedParesStatusReason: type: string maxLength: 2 description: 'Provides additional information as to why the PAResStatus has a specific value. ' specificationVersion: type: string description: 'This field contains the 3D Secure version that was used to process the transaction. For example: 2.2.0 ' stepUpUrl: type: string maxLength: 2048 description: 'The fully qualified URL that the merchant uses to post a form to the cardholder in order to complete the Consumer Authentication transaction for the Cardinal Cruise API integration. ' threeDSServerTransactionId: type: string maxLength: 36 description: 'Unique transaction identifier assigned by the 3DS Server to identify a single transaction. ' ucafAuthenticationData: type: string description: 'AAV is a unique identifier generated by the card-issuing bank for Mastercard Identity Check transactions after the customer is authenticated. The value is in base64. Include the data in the card authorization request. ' ucafCollectionIndicator: type: string description: 'For enroll, Returned only for Mastercard transactions. Indicates that authentication is not required because the customer is not enrolled. Add the value of this field to the authorization field ucaf_collection_indicator. This field can contain these values: 0, 1. For validate, Numeric electronic commerce indicator (ECI) returned only for Mastercard Identity Check transactions. The field is absent when authentication fails. You must send this value to your payment processor in the request for card authorization. This field contain one of these values: - `0`: Authentication data not collected, and customer authentication was not completed. - `1`: Authentication data not collected because customer authentication was not completed. - `2`: Authentication data collected because customer completed authentication. ' veresEnrolled: type: string description: 'Result of the enrollment check. This field can contain one of these values: - `Y`: Card enrolled or can be enrolled; you must authenticate. Liability shift. - `N`: Card not enrolled; proceed with authorization. Liability shift. - `U`: Unable to authenticate regardless of the reason. No liability shift. **Note** This field only applies to the Asia, Middle East, and Africa Gateway. If you are configured for this processor, you must send the value of this field in your authorization request. The following value can be returned if you are using rules-based Payer Authentication: - `B`: Indicates that authentication was bypassed. ' whiteListStatusSource: type: string maxLength: 2 description: 'This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 – DS/03 - ACS ' xid: type: string description: 'Transaction identifier generated by CyberSource for successful enrollment or validation checks. Use this value, which is in base64, to match an outgoing PAReq with an incoming PARes. CyberSource forwards the XID with the card authorization service to these payment processors in these cases: - Barclays - Streamline (when the **ecommerceIndicator**`=spa`) ' directoryServerTransactionId: type: string maxLength: 36 description: 'The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results. For Cybersource Through Visanet Gateway: The value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification—Directory Server Transaction ID ' acsOperatorID: type: string description: Directory Server assigned ACS identifier. acsReferenceNumber: type: string maxLength: 50 description: Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval. idciDecision: type: string maxLength: 20 description: Decision on the Risk Assessment from Mastercard. idciReasonCode1: type: string maxLength: 20 description: ReasonCode from Mastercard idciReasonCode2: type: string maxLength: 20 description: ReasonCode from Mastercard idciScore: type: integer description: Risk Assessment from Mastercard errorInformation: type: object properties: reason: type: string description: 'The reason of the status. Possible values are: - `INVALID_MERCHANT_CONFIGURATION` - `CONSUMER_AUTHENTICATION_REQUIRED` - `CONSUMER_AUTHENTICATION_FAILED` - `AUTHENTICATION_FAILED` ' message: type: string description: The detail message related to the status and reason listed above. 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" '400': description: Invalid request schema: title: riskV1AuthenticationsPost400Response type: object properties: 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 for payerAuthentication 400 enroll and validate calls. Value is: - `INVALID_REQUEST` ' reason: type: string description: 'The reason of the status. Possible Values: - `MISSING_FIELD` - `INVALID_DATA` ' message: type: string description: 'The message describing the reason of the status. Value is: - Encountered a Payer Authentication problem. Payer could not be authenticated. ' 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" '502': description: Unexpected system error or system timeout. schema: title: riskV1AuthenticationsPost502Response type: object properties: 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.\n\nPossible values:\n - SERVER_ERROR\n" reason: type: string description: "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" message: type: string description: The detail message related to the status and reason listed above. x-example: example0: summary: Enroll with Pending Authentication value: orderInformation: billTo: firstName: John lastName: Doe address2: Address 2 address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US phoneNumber: '4158880000' company: Visa email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD buyerInformation: mobilePhone: '1245789632' paymentInformation: card: expirationMonth: '12' expirationYear: '2025' number: '4000000000002503' type: '001' deviceInformation: userAgentBrowserValue: GxKnLy8TFDUFxJP1t httpBrowserTimeDifference: '300' httpBrowserScreenWidth: '100000' httpBrowserScreenHeight: '100000' httpBrowserLanguage: en_us httpBrowserJavaScriptEnabled: Y httpBrowserJavaEnabled: N httpAcceptContent: test httpBrowserColorDepth: '24' fingerprintSessionId: xyz ipAddress: 139.130.4.5 consumerAuthenticationInformation: deviceChannel: BROWSER transactionMode: eCommerce example1: summary: Enroll with Travel Information value: travelInformation: legs: - carrierCode: UA departureDate: '2023-01-01' destination: DEFGH origin: LAX - carrierCode: AS departureDate: '2023-02-21' destination: RESD origin: ECF numberOfPassengers: '2' passengers: - firstName: Raj lastName: Charles - firstName: Potter lastName: Suhember orderInformation: billTo: firstName: John lastName: Doe address2: Address 2 address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US phoneNumber: '4158880000' company: Visa email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD buyerInformation: mobilePhone: '1245789632' paymentInformation: card: type: '002' expirationMonth: '12' expirationYear: '2025' number: '5200000000002151' deviceInformation: userAgentBrowserValue: GxKnLy8TFDUFxJP1t httpBrowserTimeDifference: '300' httpBrowserScreenWidth: '100000' httpBrowserScreenHeight: '100000' httpBrowserLanguage: en_us httpBrowserJavaScriptEnabled: Y httpBrowserJavaEnabled: N httpAcceptContent: test httpBrowserColorDepth: '24' fingerprintSessionId: xyz ipAddress: 139.130.4.5 consumerAuthenticationInformation: deviceChannel: BROWSER transactionMode: MOTO example2: summary: Authentication with NO Redirect value: orderInformation: billTo: firstName: John lastName: Doe address2: Address 2 address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US phoneNumber: '4158880000' company: Visa email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD paymentInformation: card: type: '001' expirationMonth: '12' expirationYear: '2025' number: '4000000000002701' deviceInformation: userAgentBrowserValue: GxKnLy8TFDUFxJP1t httpBrowserTimeDifference: '300' httpBrowserScreenWidth: '100000' httpBrowserScreenHeight: '100000' httpBrowserLanguage: en_us httpBrowserJavaScriptEnabled: Y httpBrowserJavaEnabled: N httpAcceptContent: test httpBrowserColorDepth: '24' fingerprintSessionId: xyz ipAddress: 139.130.4.5 consumerAuthenticationInformation: deviceChannel: BROWSER example3: summary: Authentication with New Account value: orderInformation: billTo: firstName: John lastName: Doe address2: Address 2 address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US phoneNumber: '4158880000' company: Visa email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD paymentInformation: card: type: '001' expirationMonth: '12' expirationYear: '2025' number: '4000000000002701' deviceInformation: userAgentBrowserValue: GxKnLy8TFDUFxJP1t httpBrowserTimeDifference: '300' httpBrowserScreenWidth: '100000' httpBrowserScreenHeight: '100000' httpBrowserLanguage: en_us httpBrowserJavaScriptEnabled: Y httpBrowserJavaEnabled: N httpAcceptContent: test httpBrowserColorDepth: '24' fingerprintSessionId: xyz ipAddress: 139.130.4.5 consumerAuthenticationInformation: deviceChannel: BROWSER transactionMode: MOTO riskInformation: buyerHistory: customerAccount: shipAddressUsageDate: '2017-05-06' creationHistory: NEW_ACCOUNT accountHistory: firstUseOfShippingAddress: 'false' example4: summary: Pending Authentication with Tokenized Card value: orderInformation: billTo: firstName: John lastName: Doe address2: Address 2 address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US phoneNumber: '4158880000' company: Visa email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD paymentInformation: tokenizedCard: transactionType: '1' type: '001' expirationMonth: '11' expirationYear: '2025' number: '4111111111111111' deviceInformation: userAgentBrowserValue: GxKnLy8TFDUFxJP1t httpBrowserTimeDifference: '300' httpBrowserScreenWidth: '100000' httpBrowserScreenHeight: '100000' httpBrowserLanguage: en_us httpBrowserJavaScriptEnabled: Y httpBrowserJavaEnabled: N httpAcceptContent: test httpBrowserColorDepth: '24' fingerprintSessionId: xyz ipAddress: 139.130.4.5 consumerAuthenticationInformation: deviceChannel: BROWSER example5: summary: Enroll with customerId as payment information value: orderInformation: billTo: firstName: John lastName: Doe address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD paymentInformation: customer: customerId: 21607EACE092FD29E063A2598D0A01B8 deviceInformation: httpAcceptContent: all httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 userAgentBrowserValue: chrome consumerAuthenticationInformation: deviceChannel: Browser referenceId: CybsCruiseTester-6259e7e2 example6: summary: Enroll with transient token value: orderInformation: billTo: firstName: John lastName: Doe address2: Address 2 address1: 1 Market St postalCode: '94105' locality: san francisco administrativeArea: CA country: US phoneNumber: '4158880000' company: Visa email: test@cybs.com amountDetails: totalAmount: '10.99' currency: USD consumerAuthenticationInformation: referenceId: CybsCruiseTester-ddb08174 deviceChannel: Browser deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all tokenInformation: jti: 1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056 example7: summary: First Recurring Transaction value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur paymentInformation: card: expirationYear: '2027' number: '5200000000002805' expirationMonth: '12' type: '002' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '02' messageCategory: '01' challengeCode: '03' referenceId: CybsCruiseTester-ddb08174 deviceChannel: Browser deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all recurringPaymentInformation: sequenceNumber: '1' numberOfPayments: '1' originalPurchaseDate: '2024080511243877' frequency: '31' endDate: '20240906' example8: summary: Subsequent Recurring Transaction value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '5200000000002235' expirationMonth: '12' type: '002' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '02' requestorInitiatedAuthenticationIndicator: '01' priorAuthenticationData: bf67e7e6-c8cf-4b93-a211-3f4f60b07524 messageCategory: '01' authenticationDate: '20190829154531' referenceId: CybsCruiseTester-ddb08174 deviceChannel: 3RI deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all recurringPaymentInformation: sequenceNumber: '1' numberOfPayments: '1' originalPurchaseDate: '2024080511243877' frequency: '31' endDate: '20240906' example9: summary: Customer Initiated Installment Transaction value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '5200000000002805' expirationMonth: '12' type: '002' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '03' messageCategory: '01' authenticationDate: '20190829154531' referenceId: CybsCruiseTester-2551acb2 deviceChannel: Browser installmentTotalCount: '2' deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all recurringPaymentInformation: sequenceNumber: '1' numberOfPayments: '1' originalPurchaseDate: '2024080511243877' frequency: '31' endDate: '20240906' example10: summary: Split/Partial Shipment Transaction value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '5200000000002235' expirationMonth: '12' type: '002' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '02' requestorInitiatedAuthenticationIndicator: '06' priorAuthenticationTime: '202408051124' priorAuthenticationMethod: '02' priorAuthenticationData: bf67e7e6-c8cf-4b93-a211-3f4f60b07524 messageCategory: '01' challengeCode: '03' referenceId: CybsCruiseTester-ddb08174 deviceChannel: 3RI deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all recurringPaymentInformation: sequenceNumber: '1' numberOfPayments: '1' originalPurchaseDate: '2024080511243877' frequency: '31' endDate: '20240906' example11: summary: Split/Delayed Shipment Transaction value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '4000000000002701' expirationMonth: '12' type: '001' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '01' requestorInitiatedAuthenticationIndicator: '06' priorAuthenticationReferenceId: 74fd3b64-5abb-4ac2-b090-1fba79996123 priorAuthenticationTime: '202408051124' priorAuthenticationMethod: '02' messageCategory: '01' referenceId: CybsCruiseTester-ddb08174 deviceChannel: 3RI deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all example12: summary: Multi-Party Commerce or OTA Frictionless value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '4000000000002701' expirationMonth: '12' type: '001' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '01' requestorInitiatedAuthenticationIndicator: '11' priorAuthenticationReferenceId: 74fd3b64-5abb-4ac2-b090-1fba79996123 priorAuthenticationTime: '202408051124' priorAuthenticationMethod: '02' messageCategory: '01' referenceId: CybsCruiseTester-ddb08174 deviceChannel: 3RI deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all example13: summary: Customer Initiated Multi-Party Commerce or OTA value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '5200000000002805' expirationMonth: '12' type: '002' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '85' priorAuthenticationReferenceId: 74fd3b64-5abb-4ac2-b090-1fba79996123 priorAuthenticationTime: '202408051124' priorAuthenticationMethod: '02' messageCategory: '01' challengeCode: '03' referenceId: CybsCruiseTester-500582d1 deviceChannel: Browser deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all recurringPaymentInformation: sequenceNumber: '1' numberOfPayments: '1' originalPurchaseDate: '2024080511243877' frequency: '31' endDate: '20240906' example14: summary: Merchant Initiated Multi-Party Commerce or OTA value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '5200000000002235' expirationMonth: '12' type: '002' consumerAuthenticationInformation: strongAuthentication: authenticationIndicator: '85' requestorInitiatedAuthenticationIndicator: '85' priorAuthenticationReferenceId: 74fd3b64-5abb-4ac2-b090-1fba79996123 priorAuthenticationTime: '202408051124' priorAuthenticationMethod: '02' messageCategory: '01' referenceId: CybsCruiseTester-8e9d566d deviceChannel: 3RI deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all example15: summary: 3RI Transaction Not Supported value: orderInformation: billTo: country: US lastName: VDP address1: 201 S. Division St. postalCode: 48104-2201 locality: Ann Arbor administrativeArea: MI firstName: RTS email: test@cybs.com amountDetails: totalAmount: '100.00' currency: eur lineItems: - unitPrice: '120.00' paymentInformation: card: expirationYear: '2027' number: '4000000000002248' expirationMonth: '12' type: '001' consumerAuthenticationInformation: requestorInitiatedAuthenticationIndicator: '01' messageCategory: '02' referenceId: CybsCruiseTester-500582d1 deviceChannel: Browser deviceInformation: userAgentBrowserValue: chrome httpBrowserLanguage: en httpBrowserJavaEnabled: y httpBrowserColorDepth: 1 httpBrowserScreenHeight: 1 httpBrowserScreenWidth: 1 httpBrowserTimeDifference: 5 httpAcceptContent: all httpAcceptHeader: all /risk/v1/authentication-results: post: summary: Validate Authentication Results description: 'This call retrieves and validates the authentication results from issuer and allows the merchant to proceed with processing the payment. ' tags: - Payer Authentication operationId: validateAuthenticationResults x-devcenter-metaData: categoryTag: Payer_Authentication developerGuides: https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html isMLEsupported: true mleForRequest: optional parameters: - name: validateRequest in: body required: true schema: type: object properties: clientReferenceInformation: type: object properties: code: type: string maxLength: 59 description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each 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. ' pausedRequestId: type: string maxLength: 26 description: 'Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' partner: type: object properties: developerId: type: string maxLength: 8 description: 'Identifier for the developer that helped integrate a partner solution to CyberSource. Send this value in all requests that are sent through the partner solutions built by that developer. CyberSource assigns the ID to the developer. **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect. ' 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. ' processingInformation: type: object properties: paymentSolution: type: string maxLength: 12 description: "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" visaCheckoutId: type: string maxLength: 48 description: 'Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in the Visa Checkout **callID** field. ' orderInformation: type: object properties: amountDetails: type: object description: Contains `currency` and `totalAmount` for this order. properties: currency: type: string maxLength: 3 description: 'Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### 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. ' totalAmount: type: string maxLength: 19 description: "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n" paymentInformation: type: object properties: card: type: object properties: type: type: string description: 'Three-digit value that indicates the card type. **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 ' 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. ' number: type: string maxLength: 20 description: 'The customer''s payment card number, also known as the Primary Account Number (PAN). You can also use this field for encoded account numbers. #### FDMS Nashville Required. String (19) #### GPX 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. #### 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. ' tokenizedCard: type: object properties: transactionType: type: string maxLength: 1 description: 'Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer''s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. #### Visa Platform Connect - `1`: For Rupay and In App tokenization. Example: InApp apple pay. - `3`: Card/Credential On File Tokenization. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used. #### Rupay - `3`: Card/Credential On File Tokenization. - `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token. ' 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 ' expirationMonth: type: string maxLength: 2 description: 'One of two possible meanings: - The two-digit month in which a token expires. - The two-digit month in which a card expires. Format: `MM` Possible values: `01` through `12` **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### 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 (`card_type=039`), if there is no expiration date on the card, use `12`.\ **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Samsung Pay and Apple Pay Month in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. ' expirationYear: type: string maxLength: 4 description: 'One of two possible meanings: - The four-digit year in which a token expires. - The four-digit year in which a card expires. Format: `YYYY` Possible values: `1900` through `3000` Data type: Non-negative integer **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### 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 (`card_ type=039`), if there is no expiration date on the card, use `2021`. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of the year. #### Samsung Pay and Apple Pay Year in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. ' number: type: string maxLength: 20 description: 'Customer''s payment network token value. ' fluidData: type: object properties: value: type: string maxLength: 4000 description: 'Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant. Used by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method. Card Present processing This field represents the encrypted payment data generated by the payment terminal/device. ' keySerialNumber: type: string description: 'The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html) ' 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` ' encoding: type: string maxLength: 6 description: 'Encoding method used to encrypt the payment data. Valid values: `Base64`, `HEX` If no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding ' customer: type: object required: - customerId properties: customerId: type: string description: 'Unique identifier for the legacy Secure Storage token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional. ' minLength: 1 maxLength: 32 id: type: string description: 'Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional. ' minLength: 1 maxLength: 32 consumerAuthenticationInformation: type: object required: - authenticationTransactionId properties: authenticationTransactionId: type: string maxLength: 26 description: 'Payer authentication transaction identifier passed to link the check enrollment and validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase. **Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service. Required for Hybrid integration for validate service. ' authenticationTransactionContext: type: string maxLength: 256 description: 'Authentication transaction context is used as a unique identifier to link enroll and validate call. ' otpToken: type: string maxLength: 255 description: 'OTP entered by the card holder. ' responseAccessToken: type: string description: 'JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters. ' signedParesStatusReason: type: string maxLength: 2 description: 'Provides additional information as to why the PAResStatus has a specific value. ' signedPares: type: string description: 'Payer authentication result (PARes) message returned by the card-issuing bank. If you need to show proof of enrollment checking, you may need to decrypt and parse the string for the information required by the payment card company. For more information, see "Storing Payer Authentication Data," page 160. Important The value is in base64. You must remove all carriage returns and line feeds before adding the PARes to the request. ' whiteListStatus: type: string maxLength: 1 description: 'Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor. Possible Values: Y - 3DS Requestor is whitelisted by cardholder N - 3DS Requestor is not whitelisted by cardholder ' credentialEncrypted: type: string maxLength: 10 description: A flag to indicate if the passed credential has been encrypted by the Merchant. deviceInformation: type: object properties: ipAddress: type: string maxLength: 45 description: 'IP address of the customer. #### Used by **Authorization, Capture, and Credit** Optional field. ' tokenInformation: type: object properties: jti: type: string maxLength: 64 description: 'TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV). ' responses: '201': description: Successful response schema: title: riskV1AuthenticationResultsPost201Response type: object properties: _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.' 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. ' 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 for payerAuthentication 201 enroll and validate calls. Possible values are: - `AUTHENTICATION_SUCCESSFUL` - `PENDING_AUTHENTICATION` - `AUTHENTICATION_FAILED` ' message: type: string description: 'The message describing the reason of the status. Value is: - The cardholder is enrolled in Payer Authentication. Please authenticate the cardholder before continuing with the transaction. ' 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. ' comments: type: string maxLength: 255 description: 'Brief description of the order or any comment you wish to add to the order. ' partner: type: object properties: developerId: type: string maxLength: 8 description: 'Identifier for the developer that helped integrate a partner solution to CyberSource. Send this value in all requests that are sent through the partner solutions built by that developer. CyberSource assigns the ID to the developer. **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect. ' 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. ' consumerAuthenticationInformation: type: object properties: acsRenderingType: type: string description: 'Identifies the UI Type the ACS will use to complete the challenge. **NOTE**: Only available for App transactions using the Cardinal Mobile SDK. ' acsReferenceNumber: type: string maxLength: 50 description: Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval. acsTransactionId: type: string maxLength: 36 description: 'Unique transaction identifier assigned by the ACS to identify a single transaction. ' acsOperatorID: type: string description: Directory Server assigned ACS identifier. authenticationResult: type: string description: 'Raw authentication data that comes from the cardissuing bank. Primary authentication field that indicates if authentication was successful and if liability shift occurred. You should examine first the result of this field. This field contains one of these values: - `-1`: Invalid PARes. - `0`: Successful validation. - `1`: Cardholder is not participating, but the attempt to authenticate was recorded. - `6`: Issuer unable to perform authentication. - `9`: Cardholder did not complete authentication. ' authenticationType: type: string maxLength: 2 description: 'Indicates the type of authentication that will be used to challenge the card holder. Possible Values: 01 - Static 02 - Dynamic 03 - OOB (Out of Band) 04 - Decoupled 20 - OTP hosted at merchant end. (Rupay S2S flow) **NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time. ' authenticationStatusMsg: type: string description: 'Message that explains the authenticationResult reply field. ' authenticationTransactionId: type: string maxLength: 26 description: 'Payer authentication transaction identifier is used to link the check enrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case. ' authenticationTransactionContextId: type: string maxLength: 30 description: 'Payer authentication transaction identifier passed to link the validation and authorization calls. ' transactionToken: type: string maxLength: 256 description: 'Web based token used to authenticate consumer with Rupay authentication provider. ' authorizationPayload: type: string description: 'The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow ' cavv: type: string maxLength: 255 description: 'Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and Discover transactions after the customer is authenticated. The value is in base64. When you request the card authorization service, CyberSource automatically converts the value, not the field name, to the format required by your payment processor. ' cavvAlgorithm: type: string maxLength: 1 description: 'Field that is returned only when the CAVV is generated, which occurs when paresStatus contains the values Y (successful authentication) or A (attempted authentication). If you use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the authorization service. This field contains one of these values: - `2`: Visa, American Express, JCB, Diners Club, and Discover - `3`: Mastercard ' challengeCancelCode: type: string maxLength: 2 description: 'An indicator as to why the transaction was canceled. Possible Values: - `01`: Cardholder selected Cancel. - `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo). - `03`: Transaction Timed Out—Decoupled Authentication - `04`: Transaction timed out at ACS—other timeouts - `05`: Transaction Timed out at ACS - First CReq not received by ACS - `06`: Transaction Error - `07`: Unknown - `08`: Transaction Timed Out at SDK ' directoryServerErrorCode: type: string description: 'The directory server error code indicating a problem with this transaction. Note - Max Length of this field is typically 3 characters. ' directoryServerErrorDescription: type: string maxLength: 4096 description: 'Directory server text and additional detail about the error for this transaction. ' effectiveAuthenticationType: type: string maxLength: 2 description: 'This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows; CH - Challenge FR - Frictionless FD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer). ' indicator: type: string description: 'Indicator used to differentiate Internet transactions from other types. The authentication failed if this field is not returned. For Visa, if your payment processor is Streamline, Barclays, AIBMS, or FDC Germany, you receive the value vbv_failure instead of internet when eci is 07. The value of this field is passed automatically to the authorization service if you request the services together. This field contains one of these values: - `aesk`: American Express SafeKey authentication verified successfully. - `aesk_attempted`: Card not enrolled in American Express SafeKey, but the attempt to authenticate was recorded. - `dipb`: Discover ProtectBuy authentication verified successfully. - `dipb_attempted`: Card not enrolled in Discover ProtectBuy, but the attempt to authenticate was recorded. - `internet`: Authentication was not verified successfully. - `js`: J/Secure authentication verified successfully. - `js_attempted`: Card not enrolled in J/Secure, but the attempt to authenticate was recorded. - `moto`: Mail or telephone order. - `pb_attempted`: Card not enrolled in Diners Club ProtectBuy, but the attempt to authenticate was recorded. - `recurring`: Recurring transaction. - `spa`: Mastercard Identity Check authentication verified successfully. - `spa_failure`: Mastercard Identity Check failed authentication. - `vbv`: Visa Secure authentication verified successfully. - `vbv_attempted`: Card not enrolled in Visa Secure, but the attempt to authenticate was recorded. - `vbv_failure`: Visa Secure authentication unavailable. ' interactionCounter: type: string maxLength: 2 description: 'Indicates the number of authentication cycles attempted by the cardholder and is tracked by the Issuing Banks ACS.Example: if customer gets the challenge window and enter in their one time password and hit submit then that interaction counter should just be 1. When customer gets the challenge window and the bank asks if they want to have the one time password sent to their phone or their email and they have to choose before going to the next screen to enter in their one time password then this interaction count would be 2. One for the selection of how they want the one time password delivered and another with them actually entering in the one time password and hitting the submit button. ' eci: type: string description: 'Note This field applies only to non-U.S-issued cards. For enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB, Diners Club, and Discover transactions when the card is not enrolled. For more information, see "Interpreting the Reply," page 22. If you are not using the CyberSource payment services, you must send this value to your payment processor in the subsequent request for card authorization. This field contains one of these values: - `06`: The card can be enrolled. Liability shift. - `07`: The card cannot be enrolled. No liability shift. For validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB, Diners Club, and Discover transactions. The field is absent when authentication fails. You must send this value to your payment processor in the subsequent request for card authorization. This field contains one of these values: - `05`: Successful authentication - `06`: Authentication attempted - `07`: Failed authentication (No response from the merchant because of a problem.) ' eciRaw: type: string description: 'ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover. The field is absent when authentication fails. If your payment processor is Streamline, you must pass the value of this field instead of the value of `eci` or `ucafCollectionIndicator`. This field can contain one of these values: - `01`: Authentication attempted (Mastercard) - `02`: Successful authentication (Mastercard) - `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover) - `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover) ' paresStatus: type: string description: 'Raw result of the authentication check. If you are configured for Asia, Middle East, and Africa Gateway Processing, you need to send the value of this field in your authorization request. This field can contain one of these values: - `A`: Proof of authentication attempt was generated. - `N`: Customer failed or canceled authentication. Transaction denied. - `U`: Authentication not completed regardless of the reason. - `Y`: Customer was successfully authenticated. ' sdkTransactionId: type: string maxLength: 36 description: 'SDK unique transaction identifier that is generated on each new transaction. ' specificationVersion: type: string description: 'This field contains the 3D Secure version that was used to process the transaction. For example: 2.2.0 ' threeDSServerTransactionId: type: string maxLength: 36 description: 'Unique transaction identifier assigned by the 3DS Server to identify a single transaction. ' ucafAuthenticationData: type: string description: 'AAV is a unique identifier generated by the card-issuing bank for Mastercard Identity Check transactions after the customer is authenticated. The value is in base64. Include the data in the card authorization request. ' ucafCollectionIndicator: type: string description: 'For enroll, Returned only for Mastercard transactions. Indicates that authentication is not required because the customer is not enrolled. Add the value of this field to the authorization field ucaf_collection_indicator. This field can contain these values: 0, 1. For validate, Numeric electronic commerce indicator (ECI) returned only for Mastercard Identity Check transactions. The field is absent when authentication fails. You must send this value to your payment processor in the request for card authorization. This field contain one of these values: - `0`: Authentication data not collected, and customer authentication was not completed. - `1`: Authentication data not collected because customer authentication was not completed. - `2`: Authentication data collected because customer completed authentication. ' whiteListStatus: type: string maxLength: 1 description: 'Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor. Possible Values: Y - 3DS Requestor is whitelisted by cardholder N - 3DS Requestor is not whitelisted by cardholder ' whiteListStatusSource: type: string maxLength: 2 description: 'This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 – DS/03 - ACS ' xid: type: string description: 'Transaction identifier generated by CyberSource for successful enrollment or validation checks. Use this value, which is in base64, to match an outgoing PAReq with an incoming PARes. CyberSource forwards the XID with the card authorization service to these payment processors in these cases: - Barclays - Streamline (when the **ecommerceIndicator**`=spa`) ' directoryServerTransactionId: type: string maxLength: 36 description: 'The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results. For Cybersource Through Visanet Gateway: The value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification—Directory Server Transaction ID ' errorInformation: type: object properties: reason: type: string description: 'The reason of the status. Possible values are: - `INVALID_MERCHANT_CONFIGURATION` - `CONSUMER_AUTHENTICATION_REQUIRED` - `CONSUMER_AUTHENTICATION_FAILED` - `AUTHENTICATION_FAILED` ' message: type: string description: The detail message related to the status and reason listed above. 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" '400': description: Invalid request. schema: title: riskV1AuthenticationResultsPost400Response type: object properties: 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 for payerAuthentication 400 enroll and validate calls. Value is: - `INVALID_REQUEST` ' reason: type: string description: 'The reason of the status. Possible Values: - `MISSING_FIELD` - `INVALID_DATA` ' message: type: string description: 'The message describing the reason of the status. Value is: - Encountered a Payer Authentication problem. Payer could not be authenticated. ' 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" '502': description: Unexpected system error or system timeout. schema: title: riskV1AuthenticationResultsPost502Response type: object properties: 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.\n\nPossible values:\n - SERVER_ERROR\n" reason: type: string description: "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" message: type: string description: The detail message related to the status and reason listed above. x-example: example0: summary: Validate authentication results value: paymentInformation: card: type: '002' consumerAuthenticationInformation: authenticationTransactionId: PYffv9G3sa1e0CQr5fV0 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).